php如何保持小数格式并删除不必要的零



我有此代码:

<?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

最新更新