简体   繁体   中英

Remove useless zero digits from decimals

I need to delete useless zero but i have problem with (float) and number_format()

I have number like 0.00000010 and i need 0.0000001 but i have 0.0000 without number_format its good

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

This should do it:

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

rtrim takes the character(s) to trim as a second (optional) argument.

If you want it to work also for integers (eg. 1000 ), try this:

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

Even better, to remove trailing dot in numbers like 0.00000 :

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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