2010-09-24 6 views
3

Я хранил денежные значения в таблице db. Например. У меня есть 2.50. Но когда я печатаю это значение, 0 всегда отсутствует, поэтому я получаю 2.5. Поле денежной массы db имеет следующий тип: decimal(6,2)MySql decimal type display problem

любая идея, как исправить это?

ответ

7

По умолчанию PHP echo и print не печатают завершающие нули числа с плавающей запятой.

Для преодоления этого нужно использовать printf как:

$money = 2.50; 

printf("%.2f",$money); // prints 2.50 

echo $money;   // prints 2.5 
print $money;   // prints 2.5 

спецификатор формата используется в printf является "%.2f", что это значит всегда печатать по крайней мере две цифры после запятой, и если бы не так многие цифры используют 0.
Обратите внимание, что по крайней мере две цифры не равно до двух цифр. Так что, если я печатаю 1.234 с этим форматом будет не сокращайте его 1.23 но будет печатать 1.234 и если я печатаю 1 это приведет к 1.00

+0

спасибо, это работает;) –