PHP将值舍入到它';他自己的尺寸(十万)


PHP round value to it's own size (ten, hunderd, thousand)

我想创建一个函数,四舍五入到它自己的值大小。

示例:

5    => 10
51   => 60
100  => 100/200 // i don't mind which it will become
121  => 200
999  => 1000
1001 => 2000

我如何在PHP中做到这一点。我知道这可以用ceil/round完成,但我不知道怎么做。

可能是你的意思是这个

function Myround(array $numbers)
{
    $new_numbers = [];
    foreach ($numbers as $num) {
        $rozriad = strlen($num)-1;
        $new_numbers[] = round(ceil($num/pow(10, $rozriad))*pow(10, $rozriad), -$rozriad);
    };
    return $new_numbers;
};
$dozens = [5, 51, 100, 121, 999, 1001];
print_r(Myround($dozens));

您可以通过以下功能实现这一点:

/**
 * by Johannes Schuh, Pineapple Developer
 */ 
function roundIt($number) {
    $amount = 0;
    do {
        $number = $number / 10;
        $amount++;
    } while($number >= 10);
    $result = 0;
    $result = $number - fmod($number, 1);
    $result++;
    $result = $result * pow(10, $amount);
    return $result;
}