PHP - 使用PHP_ROUND_HALF_DOWN模式的round()函数(意外行为)

时间:2017-01-02 13:44:42

标签: php rounding floor ceil

目前我正在使用PHP 5.3.29和 PHP_ROUND_HALF_DOWN 模式中的 round()功能来对特定数字进行舍入。

这是我的代码:

function getBetragrabatt($betrag, $rabatt, $ratezahl = false){
    if(!empty($rabatt)){
        $rabatt = str_replace(array(",", "."), array("", ""), $rabatt);
        if($ratezahl >=1)
            $abschlag = ($rabatt / $ratezahl);
        else
            $abschlag = $rabatt;
        $abschlag = floor($abschlag / 100) . '.' . ($abschlag % 100);
        $rabattbetrag = ($betrag - round($abschlag, 0, PHP_ROUND_HALF_DOWN));
    }
    return $rabattbetrag;
}

$rateRabatt = getBetragrabatt(119.95, 100, 18);

echo $rateRabatt;

如果我使用沙盒上的代码(click here),一切都按预期工作,我得到 119.95

如果我在IDE中使用相同的代码或将其上传到我的服务器,我会得到 119.40

我做错了什么? 希望你能帮帮我..

0 个答案:

没有答案