PHP как округлить десятичные числа - PullRequest
0 голосов
/ 25 сентября 2018

как округлить десятичные дроби, которые могут выглядеть следующим образом:

например:

if decimals range from 0.26 to 0.74 I need to round to 0.50
if decimals range from 0.75 to 1.25 I need to round to 1.00

как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Я приведу здесь альтернативный пример:

function customRound($number)
{
    // Extract integer part out of the number.
    $int_part = (int)$number;

    // Extract decimal part from the number.
    $dec_part = (float)($number - $int_part);

    // Make the custom round on the decimal part.
    $dec_rounded = $dec_part >= 0.75 ? 1.0 : ($dec_part >= 0.26 ? 0.5 : 0.0);

    return $int_part + $dec_rounded;
}
0 голосов
/ 25 сентября 2018

Вы можете попробовать следующее:

function customRound($number) {

    // extract integer part out of the number
    $int_part = (int)$number;

    // extract decimal part
    $dec_part = (float)($number - $int_part);

    $dec_rounded = 0;
    if ($dec_part >= 0.26 && $dec_part < 0.75 ) {
        $dec_rounded = 0.5;
    } elseif ($dec_part >= 0.75) {
        $dec_rounded = 1.0;
    }

    return $int_part + $dec_rounded;
}
...