php умножение int на десятичное производит int? - PullRequest
0 голосов
/ 28 сентября 2018

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

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

echo "$total";

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

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

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

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

Дает 20.46, опять же правильное значение .

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

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

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

20.00
20.46

Для настройки на локаль, money_format() будет лучше.Это даст вам , (или что-то еще) вместо .

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

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

...