php умножение int на десятичное производит int?

Поэтому я пытаюсь понять это поведение:
В моей таблице базы данных у меня есть количество строк (int 11) и цена столбца (десятичное 5,2).
Умножая их, чтобы получить итог, выдает целое число … как это возможно?

$qty = 2;
$price = 10;
$total = $qty * $price;

echo "$total";

// Выводы 20. Разве не должно быть 20,00?

0

Решение

Так что, для всех, кто интересуется, есть функция форматирования валюты php.
http://php.net/manual/it/function.money-format.php
Проверьте руководство для получения дополнительной информации, спасибо за ответы.

0

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

Вы ничего не доказали. 20 правильный значение.

$qty = 2;
$price = 10.23;
$total = $qty * $price;
echo "$total";

дает 20.46опять правильный значение.

Если хотите формат выход, использовать

printf("%.2f", $total);

чтобы получить результаты, как

20.00
20.46

Чтобы настроить для локали, money_format() было бы лучше. Это даст вам , (или что угодно) вместо .

0

По вопросам рекламы [email protected]