note 106560 added to function.number-format
| From: | (bls) | Date: | Fri, 18 Nov 2011 16:10:10 +0000 |
| Subject: | note 106560 added to function.number-format | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-184562@lists.php.net to get a copy of this message | ||
To prevent the rounding that occurs when next digit after last significant decimal is 5 (mentioned
by several people below):
<?php
function fnumber_format($number, $decimals='', $sep1='', $sep2='') {
if (($number * pow(10 , $decimals + 1) % 10 ) == 5) //if next not significant digit is 5
$number -= pow(10 , -($decimals+1));
return number_format($number, $decimals, $sep1, $sep2);
}
$t=7.15;
echo $t . " | " . number_format($t, 1, '.', ',') . " | " .
fnumber_format($t, 1, '.', ',') . "\n\n";
//result is: 7.15 | 7.2 | 7.1
$t=7.3215;
echo $t . " | " . number_format($t, 3, '.', ',') . " | " .
fnumber_format($t, 3, '.', ',') . "\n\n";
//result is: 7.3215 | 7.322 | 7.321
} ?>
have fun!
----
Server IP: 69.147.83.197
Probable Submitter: 86.120.176.120
----
Manual Page -- http://www.php.net/manual/en/function.number-format.php
Edit -- https://master.php.net/note/edit/106560
Del: integrated -- https://master.php.net/note/delete/106560/integrated
Del: useless -- https://master.php.net/note/delete/106560/useless
Del: bad code -- https://master.php.net/note/delete/106560/bad+code
Del: spam -- https://master.php.net/note/delete/106560/spam
Del: non-english -- https://master.php.net/note/delete/106560/non-english
Del: in docs -- https://master.php.net/note/delete/106560/in+docs
Del: other reasons-- https://master.php.net/note/delete/106560
Reject -- https://master.php.net/note/reject/106560
Search -- https://master.php.net/manage/user-notes.php