如何在 PHP 中的浮点数末尾强制保留 3 个包含零的小数位
How to force 3 decimal places containing zeros at the end of a float in PHP
我有一个很长的字符串格式的数字,如下所示:
$startdate = "1437925621000";
它实际上是一个 unix 时间戳,但是当我将它从日期对象转换为 unix 时间戳时,它变成了一个字符串。
我需要把它变成这样:1437925621.000 所以我写了一些代码在字符串的正确位置添加一个小数点。此时它仍然是一个字符串。
不过,它需要是一个浮点数,以便进行比较,所以我将它转换为这样的浮点数:
$startdate = floatval($startdate);
但是当我将它转换为浮点数时,它会去掉小数点后的三个零,我需要那些零。
我也尝试过使用 number_format,但是 returns 是一个字符串,当我将它转换回浮点数时,小数点再次被切断。有什么解决办法吗?
我不需要打印这个号码。我需要比较 unix 时间戳。我正在查询一个数据库,该数据库包含存储为小数点后 4 位小数的日期。它们用作时间戳,但在 MySQL 数据库中存储为小数。
我指的数字用于根据日期查询此数据库中的 select 记录,该日期存储为小数点后 4 位小数。如果我没有小数点,则无法正确比较。
您可以将 0.0001 添加到 floatval($startdate) 并将 0.0001 添加到其他变量以进行比较
floatval($startdate) + 0.0001 === $otherVar + 0.0001
我有一个很长的字符串格式的数字,如下所示:
$startdate = "1437925621000";
它实际上是一个 unix 时间戳,但是当我将它从日期对象转换为 unix 时间戳时,它变成了一个字符串。
我需要把它变成这样:1437925621.000 所以我写了一些代码在字符串的正确位置添加一个小数点。此时它仍然是一个字符串。
不过,它需要是一个浮点数,以便进行比较,所以我将它转换为这样的浮点数:
$startdate = floatval($startdate);
但是当我将它转换为浮点数时,它会去掉小数点后的三个零,我需要那些零。
我也尝试过使用 number_format,但是 returns 是一个字符串,当我将它转换回浮点数时,小数点再次被切断。有什么解决办法吗?
我不需要打印这个号码。我需要比较 unix 时间戳。我正在查询一个数据库,该数据库包含存储为小数点后 4 位小数的日期。它们用作时间戳,但在 MySQL 数据库中存储为小数。
我指的数字用于根据日期查询此数据库中的 select 记录,该日期存储为小数点后 4 位小数。如果我没有小数点,则无法正确比较。
您可以将 0.0001 添加到 floatval($startdate) 并将 0.0001 添加到其他变量以进行比较
floatval($startdate) + 0.0001 === $otherVar + 0.0001