gpt4 book ai didi

php - 将字符串转换为 float 而不丢失精度

转载 作者:行者123 更新时间:2023-12-02 06:31:40 25 4
gpt4 key购买 nike

var_dump((float)'79.10') 返回 79.09999999999999。我已经尝试了一百万种方法来尝试将这个值四舍五入到原始的 79.10 作为 float (number_formatround),但我找不到方法来做吧。

有什么方法可以从原始字符串中获取 float 值 79.10?

最佳答案

不,因为 0.1(并且,通过扩展,79.1)实际上不能表示为 float(假设 IEEE-754 单或 double 编码)。 0.1 在该编码中有一个无限循环的小数部分:

1001 1001 1001 1001 ...

您要么必须将其保留为字符串,要么接受编码方案没有无限精度的事实并解决它。

后者的一个例子是只输出特定精度的数字,例如两位小数,并确保(不)相等比较使用绝对或相对增量来比较数字。

当您相加 数字时,要使不精确的效果在百分之一级别变得可见,需要进行相当多的操作。相乘时速度更快,但仍需要一段时间。

关于php - 将字符串转换为 float 而不丢失精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34325753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com