Php 使用浮动时的值无效

Php 使用浮动时的值无效,php,floating-point,floating-accuracy,Php,Floating Point,Floating Accuracy,下面的操作给出了错误的结果 $First = '45.4000'; $Second = '4.6800000000'; $Third = '50.00'; echo ( $First + $Second ) - $Third; 输出:0.0799999998 预期输出:0.08 我正在考虑如何在不使用数字格式/sprintf…等的情况下获得正确的结果 由于这个问题影响到我代码中的多个地方&必须检查所有内容和格式,这是一个痛苦的问题 作为“快速修复”,更改php.i

下面的操作给出了错误的结果

$First      = '45.4000';
$Second     = '4.6800000000';
$Third      = '50.00';

echo ( $First + $Second ) - $Third;
输出:0.0799999998

预期输出:0.08

我正在考虑如何在不使用数字格式/sprintf…等的情况下获得正确的结果

由于这个问题影响到我代码中的多个地方&必须检查所有内容和格式,这是一个痛苦的问题

作为“快速修复”,更改php.ini文件中的
精度设置

默认情况下,它是14,这比你几乎所有时候都需要的要多(如果你需要那么高的精度,你可以使用一个专用的数学库)。将其更改为类似4的值,结果将四舍五入到该长度-请注意,如果需要,您仍然可以使用
number\u格式
逐个覆盖该值。

尝试此方法
$First      = '45.4000';
$Second     = '4.6800000000';
$Third      = '50.00';

$sk = ( $First + $Second ) - $Third;

echo round($sk,4);

?>

number\u格式/sprintf
等有什么问题。。