Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Unexpected round() return
- $line_item_price = 13.775;
- echo round($line_item_price, 2, PHP_ROUND_HALF_DOWN);
- $line_item_price = 13.775;
- echo floor($line_item_price * 100) / 100;
- echo round($line_item_price, 2)
- $num = 13.775;
- $tmp = intval($num*1000);
- $dec = $tmp % 10;
- if ($dec > 5) {
- $rounded = (1+intval($tmp/10))/100;
- } else {
- $rounded = intval($tmp/10)/100;
- }
- echo $rounded,"n";
- $ php -r 'printf("%.40fn", 13.775);'
- 13.7750000000000003552713678800500929355621
- $ php -r 'echo round(13.77500000000001, 2, PHP_ROUND_HALF_DOWN) . "n";'
- 13.77
- function round_half_down ( $num, $digits ) {
- $mul = pow( 10, $digits );
- return ceil( $num * $mul - 0.5 ) / $mul;
- }
Add Comment
Please, Sign In to add comment