$a = '35';
$b = '-34.99';
echo ($a + $b);
Run Code Online (Sandbox Code Playgroud)
结果在0.009999999999998
怎么了?我想知道为什么我的程序会报告奇怪的结果.
为什么PHP没有返回预期的0.01?
我需要删除无用的零但我有问题(float)和number_format()
我有数字0.00000010,我需要,0.0000001但我0.0000没有number_format它的好
我的代码
$number = (float)$number;
$number_array = explode('.', $number);
$left = $number_array[0];
$right = $number_array[1];
$number = number_format($number, strlen($right));
Run Code Online (Sandbox Code Playgroud)
我一直用PHP处理长数字.像下面的例子一样.
12.020000
12.000000
Run Code Online (Sandbox Code Playgroud)
为了摆脱尾随零和小数点,我一直在函数内使用以下内容.
return rtrim(rtrim($str, "0"),".");
Run Code Online (Sandbox Code Playgroud)
所以上面的结果就像.
12.02
12
Run Code Online (Sandbox Code Playgroud)
它有点短视,因为当1000它进入它变成了1.
有人可以帮我用代码删除小数点后的尾随零吗?
如果代码删除小数位,但我可以随时将其输入,奖励积分rtim($str,".").
编辑:要清楚,我只在显示到屏幕时剥离小数位和零.同样,施放浮动不是一个选项,因为我也处理像0.00000001这样的数字,它们像1.0e-9那样出现.