我有此代码:
<?php
$number = 0.000010950000;
$number = number_format($number, 10, '.', '');
$number = $number + 0;
echo $number;
我期望这是结果:
0.00001095
但是,仅使用number_format
,它将产生:
0.0000109500
并添加+ 0
以删除不必要的零,它将将数字打印为科学格式:
1.095E-5
如何将结果保持小数格式并删除不必要的零?
请注意,数字长度可以有所不同。
来自注释:
$number = 0.000010950000;
$number = number_format($number, 10, '.',''); // to avoid scientific notation of tiny decimals
$number = rtrim((string)$number,'0');
$number = rtrim((string)$number,'.');
echo $number;
这做什么:
第一个rtrim
将清除多余的0
,第二个rtrim
将在>完成第一个rtrim
之后清除任何落后.
。
为什么不将rtrim
s组合在一起( rtrim($number, '0.')
(?
这将导致10.0000
成为1
,这显然是不正确的。
示例:
$number = 0.000010950000;
输出:$ number = 0.00001095
和
$number = 10.000000;
输出:$数字= 10