从小数中删除无用的零位数字


Remove useless zero digits from decimals

我需要删除无用的零,但我(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));

http://codepad.org/ondL9bg1

这应该可以做到:

$number = rtrim($number, '0');

rtrim 将要修剪的字符作为第二个(可选)参数。

如果您希望它也适用于整数(例如。 1000 ),试试这个:

if (false !== strpos($number, '.'))
    $number = rtrim($number, '0');

更好的是,要删除数字中的尾随点,例如 0.00000

if (false !== strpos($number, '.'))
    $number = rtrim(rtrim($number, '0'), '.');