简体   繁体   English

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

[英]Remove useless zero digits from decimals

I need to delete useless zero but i have problem with (float) and number_format() 我需要删除无用的零,但我有(float)number_format()

I have number like 0.00000010 and i need 0.0000001 but i have 0.0000 without number_format its good 我有0.00000010数字,我需要0.0000001但我有0.0000没有number_format它的好

My code 我的代码

$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 http://codepad.org/ondL9bg1

This should do it: 这应该这样做:

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

rtrim takes the character(s) to trim as a second (optional) argument. rtrim将字符修剪为第二个(可选)参数。

If you want it to work also for integers (eg. 1000 ), try this: 如果你想让它也适用于整数(例如1000 ),试试这个:

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

Even better, to remove trailing dot in numbers like 0.00000 : 更好的是,删除像0.00000这样的数字中的尾随点:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM