Почему php сокращает 1000 до 1?

Вопрос в следующем. В БД содержится цена некоторого изделия, все цены до 1000 в выводе на форме показывает нормально, но стоит только ввести 1000(или боле, с копейками через точку, включительно), как на выводе получаю "1" из за этого естественно сбиваются расчеты.
Кто сталкивался, как решить данную проблему?
Поле в БД имеет тип VARCHAR.
В php на выводе использую number_format($price, 2, '.', '').
  • Вопрос задан
  • 2245 просмотров
Решения вопроса 2
@FatalER Автор вопроса
Хех нашел ошибку, банально до исступления, час бился у меня число 1000 при занесении в БД выглядела следующим образом 1_000 ( _ - читать пробел), из за этого он мне резал число после пробела сделав такую вставку str_replace(' ','',$_REQUEST['price']); избавился от пробела и получилось нормальное число =)
Ответ написан
Комментировать
скорее всего данные в базе хранятся с разделением тысяч.
например: 1 000
в этом случае при переводе в числовой формат откидывается все начиная с пробела.
для решения этой проблемы нужно сначала удалить пробелы.
Код:
$cost = str_replace(" ", "", $price);
$cost = number_format($cost, 2, '.', '');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
begemot_sun
@begemot_sun
Программист в душе.
Простите, но кем надо быть чтобы цены хранить в текстовом формате ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы