私は、常に小数点以下を切り上げるエレガントな方法を探しています。 round(0.0045001, 5, PHP_ROUND_HALF_UP);
のように思えるものが返ってこないので、次のような機能を思いついた。常に小数点以下を指定した精度に丸める
function roundUp($number, $precision) {
$rounded = round($number, $precision);
if ($rounded < $number) {
$add = '0';
for ($i = 1; $i <= $precision; $i++) {
if ($i == 1) $add = '.';
$add .= ($i == $precision) ? '1' : '0';
}
$add = (float) $add;
$rounded = $rounded + $add;
}
return $rounded;
}
これを達成するための他のよりエレガントな方法がありますか?
期待される結果: var_dump(roundUp(0.0045001, 5)) // 0.00451;
なぜ私は 'pow()'と一緒に使ったのか分かりませんが、正しい結果を得ることはできませんでした。私は気付かなかったミスをしたと思います。どうもありがとう。 – Revenant