MySql проблема отображения десятичного типа - PullRequest
3 голосов
/ 24 сентября 2010

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

есть идеи, как это исправить?

1 Ответ

7 голосов
/ 24 сентября 2010

По умолчанию 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...