了解使用pow / base进行舍入10

时间:2014-06-09 15:51:10

标签: php rounding pow

有这个功能用于我自己没有创建,但目前它只返回用2 decimal places舍入的数字,但我想改变它,所以它返回三个;但我真的不明白它是如何运作的。

这是功能:

function round_number($number, $round = 2)
{
    // we will multiply by 10^$round, then get the floor value of that amount then divide by 10^round.
    ## -> if it does problems, switch back to floor()
    $temp_value = $number * pow(10, $round);
    $temp_value = (!strpos($temp_value, '.')) ? $temp_value : floor($temp_value);
    $number = $temp_value / pow(10, $round);

    return $number;
}

我假设我将$round更改为3它会正确返回吗?

1 个答案:

答案 0 :(得分:2)

 // we will multiply by 10^$round, then get the floor value of that amount then divide by 10^round.
## -> if it does problems, switch back to floor()

它在代码中说的正确!

是的 - 改变$round = 3;将起作用。

但是你不应该只是调用函数

round_number(12345.12342423,3;

作为第二个参数(3)传入的数字将覆盖函数中的$round=2$round=2是'默认')