Задать вопрос

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

Вопрос в следующем. В БД содержится цена некоторого изделия, все цены до 1000 в выводе на форме показывает нормально, но стоит только ввести 1000(или боле, с копейками через точку, включительно), как на выводе получаю "1" из за этого естественно сбиваются расчеты.
Кто сталкивался, как решить данную проблему?
Поле в БД имеет тип VARCHAR.
В php на выводе использую number_format($price, 2, '.', '').
  • Вопрос задан
  • 2246 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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
Программист в душе.
Простите, но кем надо быть чтобы цены хранить в текстовом формате ?
Ответ написан
Ваш ответ на вопрос

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

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