функция rounding — round () в режиме PHP_ROUND_HALF_DOWN (неожиданное поведение)

В настоящее время я работаю с PHP 5.3.29 и круглый() функция в PHP_ROUND_HALF_DOWN режим для округления определенного числа.

Вот мой код:

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;

Если я использую код в песочнице (кликните сюда) все работает как положено и я получаю 119,95 в результате.

Если я использую тот же код в своей IDE или загружаю его на свой сервер, я получаю 119,40 в результате.

Что я делаю неправильно?
Надеюсь, вы можете помочь мне ..

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …