gpt4 book ai didi

PHP : The awk subtraction giving exponential values

转载 作者:行者123 更新时间:2023-12-02 21:35:02 29 4
gpt4 key购买 nike

当我减去两个值时,我得到 awk 结果,错误是我得到指数值 2.7755575615629E-17 而不是 0。我缺少应用的任何内容,请提出建议。仅在某些情况下才会发生这种情况,例如 0.66、0.67、0.33、

我正在使用的代码原型(prototype)如下,

                    $_SESSION['x'] = 1;
$_SESSION['x'] = $_SESSION['x'] - 0.83;
echo ( $_SESSION['x']- 0.17) ;
echo '<br>';

但是在反转值时,0 一切都很好

                    $_SESSION['x'] = 1;
$_SESSION['x'] = $_SESSION['x'] - 0.17;
echo ( $_SESSION['x']- 0.83) ;
echo '<br>';

最佳答案

这是因为它是 float 。并按照手册

“ float 的大小取决于平台,尽管最大 ~1.8e308 且精度约为 14 位十进制数字是常见值(64 位 IEEE 格式)。”

http://php.net/manual/en/language.types.float.php

现在可以通过使用类型将结果转换为 (int) 或对结果进行四舍五入来完成两件事。

另一个选项是使用 sprintf

这是一个例子

$a  = 0.00001234;
echo $a ;

输出如下

1.234E-5

现在如果我们这样做

echo (int)$a ;
The output is 0

echo round($a) ;

output will be 0

最后,如果我们这样做

echo sprintf('%f', $a);

We will get 0.000012

关于PHP : The awk subtraction giving exponential values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21598667/

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