当前位置: 首页 > 知识库问答 >
问题:

在PHP中,如何强制在浮点结尾处使用包含零的3位小数

陶泳
2023-03-14

我有一个非常长的字符串格式的数字,如下所示:

$startdate = "1437925621000";

它实际上是一个unix时间戳,但是当我把它从日期对象转换成unix时间戳时,它就变成了一个字符串。

我需要将其转换为:1437925621.000,因此我编写了一个小代码,将小数点添加到字符串的正确位置。在这一点上,它仍然是一个字符串。

但是,它需要是一个浮点,以便比较,所以我将其转换为如下所示的浮点:

$startdate = floatval($startdate);

但是当我把它转换成浮点数时,它会砍掉小数点后的三个零,我需要这些零在那里。

我也尝试过使用number_格式,但它返回一个字符串,当我将其转换回float时,小数点再次被截断。这有什么办法吗?

我不需要打印这个号码。我需要比较unix时间戳。我正在查询一个数据库,其中包含存储为小数点后4位的日期。它们用作时间戳,但作为小数存储在MySQL数据库中。

我所指的数字在查询中用于根据日期从该数据库中选择记录,该日期存储为小数点后4位的小数。如果没有小数点,则无法正确比较。

共有1个答案

孟楷
2023-03-14

您可以将0.0001添加到floatval($startdate),并将0.0001添加到其他var以进行比较

floatval($startdate) + 0.0001 === $otherVar + 0.0001
 类似资料:
  • 问题内容: 当我使用json.net将小数写到json时,我变得很烦人。有时是1 dp,其他时候是2。 显然,我知道将小数输出到具有一定数量的小数(例如this)的字符串的解决方案,但是我猜想如果没有编写自定义的序列化程序,就无法使用json.net进行控制。 我也知道要强制使用 最大 小数位数,这个问题与强制执行最小小数位数有关。 前两个测试表明发生了什么,它保持声明或计算中的原始小数位数。 我

  • 我试图得到浮点数的尾数(只是为了学习),但它没有按预期工作。 比如说5.3的尾数是53,对吗?我尝试了以下代码: 它打印了2726298。它不应该去掉指数位并留下53吗?我尝试了很多事情,但总是这样。我做错了什么?

  • 问题内容: 嗨,有人可以给我一个解释(也许是一个例子),我将如何使用PHP从数字中去除尾随零。 例如: 将变成: 我正在尝试去除零,以使其更具可读性。我尝试使用,但这也替换了数字内的零(doh)。 谢谢= D 问题答案: 忘记所有的rtrim和正则表达式,坐标是浮点数,应将其视为浮点数,只需在变量前面加上即可将其从字符串转换为浮点数: 输出: 实际的结果是浮点数,但由于HTTP协议而作为字符串传递

  • 问题内容: 我正在从文件中读取数据,对其进行修改并将其写入另一个文件。新文件将被另一个程序读取,因此保持准确的格式至关重要 例如,输入文件中的数字之一是: 我的脚本对列应用了一些数学运算,应该返回 但是目前返回的是 我怎么会写一个浮动例如,作为一个文件? 问题答案: 将其格式化为6位小数: 演示: 该函数按照给定的格式说明将值转换为字符串。

  • 问题内容: 如何格式化浮点数,使其不包含尾随零?换句话说,我希望结果字符串尽可能短。 例如: 问题答案: 你可以%g用来实现以下目的: 或者,对于Python 2.6或更高版本:

  • 我正在从一个文件中读取数据,修改它并将其写入另一个文件。新文件将由另一个程序读取,因此保留精确的格式至关重要 例如,我输入文件中的一个数字是: 我的脚本对列应用了一些数学运算,应该会返回 但目前返回的是 我如何将浮点值(例如)写入一个文件中?