PHP Rounding Numbers

后端 未结 6 1488
不思量自难忘°
不思量自难忘° 2020-12-21 07:47

I cannot seem to figure out how to always round up in PHP. ceil() would be the obvious choice but I need the same functionality that round() provid

6条回答
  •  Happy的楠姐
    2020-12-21 08:45

    One more solution for ceil with precision, no pow, it looks like works 9 digits both sides:

    $v = 123400100100100101;
    $a1 = 444444444.4;
    $a2 = .04444444444;
    $b1 = 111111111.1;
    $b2 = .01111111111;
    echo $v . "\n";
    for ($i = 0; $i < 18; $i ++) {
        $v = $v/10;
        for ($j = -9; $j < 10; $j++) {
            echo $i . ':' . $j . ":" . round($v
                + round($a1, $j + 1) + round($a2, $j + 1)
                - round($a1, $j) - round($a2, $j)
                + round($b1, $j + 1) + round($b2, $j + 1)
                - round($b1, $j) - round ($b2, $j),
                $j, PHP_ROUND_HALF_DOWN) . "\n";
        }
    }
    

提交回复
热议问题