Проблема с отображением шестизначных сумм в 2.x

 
Посетитель
small user social cms
Медаль
Сообщений: 444
При покупке шаблона у TemplateInstant, с год назад, заметил проблему с отображением шестизначных сумм в числовом поле "цена" на демо доски объявлений. Движок сменил несколько версий, но проблема осталась.

Например:
Если ввести 120000 руб., все отображается корректно, если 1200000, то получаем 1.2e+06. Странно, что это никто не заметил ранее, по нынешним временам лимон - деньги не большие, объявлений с таким ценником достаточно много. Ерунда получается.
Редактировалось: 1 раз (Последний: 15 сентября 2016 в 23:41)
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2776
я зачечал, но программер с кем взаимодейтсвуем, как то эту проблему решил. Она действительно есть, подтверждаю
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 444
yury:
но программер с кем взаимодейтсвуем, как то эту проблему решил.
Я использовал строковое поле, так как числовое из-за данного бага использовать невозможно. Но хотелось бы отремонтировать числовое.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3512
Проблема, если и была, то осталась благодаря тому, что
Pasechnik:
Движок сменил несколько версий,
Сейчас в двойке можно ввести цифру 1200000000 и она корректно отобразиться, проблема возникнет только если ввести цифру больше, чем 2147483647. И даже в этом случае будет корректно отображаться цифра 2147483647.
Смотрите в каком виде хранится у вас сумма в БД и сравните методы parse в файлах \system\fields\number.php вашего движка и установочной версии.
Посетитель
small user social cms
Медаль
Сообщений: 444
Loadырь:
Сейчас в двойке можно ввести цифру 1200000000
У меня 1200000 - 1.2e+06, версия движка 2.5.1.
Loadырь:
Смотрите в каком виде хранится у вас сумма в БД и сравните методы parse в файлах \system\fields\number.php вашего движка и установочной версии.
Проверю.

Сейчас проверил с дефолтным шаблоном. Вводим 1000000 получаем 1e+06.

Движок устанавливался с нуля. Поле "число", Фильтр по диапазону, Только целые числа.
Посетитель
small user social cms
Медаль
Сообщений: 444
Loadырь:
Смотрите в каком виде хранится у вас сумма в БД
В таком же и хранится: 1.2e+06, 1e+06
Loadырь:
сравните методы parse в файлах \system\fields\number.php вашего движка и установочной версии.
Код в файле \system\fields\number.php не был изменен, сравнил со свежескаченой версией 2.5.1
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3512
Pasechnik:
В таком же и хранится: 1.2e+06, 1e+06
Структура поля в БД должна быть такой https://yadi.sk/d/LnE4zGVSvKUuN, у вас какая?
Поменяйте в БД 1.2e+06, 1e+06 на нужные значения и посмотрите, что получится.
Посетитель
small user social cms
Медаль
Сообщений: 444
Loadырь:
Структура поля в БД должна быть такой https://yadi.sk/d/LnE4zGVSvKUuN, у вас какая?
Прямое попадание. Спасибо, Loadырь!
Тип поля price был float, сменил на int(11), теперь все отображается корректно.

Проверил на двух разных хостингах. Вопрос: Почему при установке по умолчанию задается тип поля float?
Редактировалось: 1 раз (Последний: 18 сентября 2016 в 18:47)
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.