Laravel 8 PHP возвращает один десятичный знак только в том случае, если последнее десятичное число равно 0Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Laravel 8 PHP возвращает один десятичный знак только в том случае, если последнее десятичное число равно 0

Сообщение Anonymous »

В настоящее время я обновляю некоторый код в нашей серверной системе, поскольку мобильное приложение уже развернуто, а разработчика мобильного приложения на данный момент у нас нет.

Код: Выделить всё

        $fees = $this->fees;
$stant_fee = 0;
foreach($fees as $fee){
if($fee->is_override){
$stant_fee+=$fee->override_amount;
}else{
$stant_fee+= $fee->commission_fee;
}
}
return round((double) $stant_fee + (double) $this->amount_per_kwh, 2);
Код работает хорошо, всегда возвращает два знака после запятой. Однако, если число с плавающей запятой заканчивается 0, PHP отменяет последний 0, возвращая только 1 десятичный знак. Например, если общая сумма равна 0,60, возвращается 0,6. Как я могу гарантировать, что он всегда возвращает два знака после запятой?
Я уже пробовал использовать 'number_format' и 'sprintf', но возвращаемый тип данных представляет собой строку. Когда я возвращаю его обратно к числу с плавающей запятой, он все равно отменяет 0, снова возвращая 0,6.
Я также пробовал addbc, ceil и round, но все равно возвращает только 1 десятичный знак.

Подробнее здесь: https://stackoverflow.com/questions/787 ... umber-is-0
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»