[TC] mysql. проблемы с числовым форматом
Здравствуйте, уважаемые!
Есть таблица, в которой поле price имеет тип float(4,2). Какое бы я значение
в него не заносил, оно оказывается равным 99.99
исключение составляет вставляемое значение 0, тогда в базе оказывается значение
0.00
Подскажите, в чем может быть дело или как исправить ситуацию.
p.s. Изменять формат поля и настройки сервера нежелательно.
Просмотреть телепрограмму на неделю:
http://samaraobs.ru/UserFiles/tv.html
Грызунов Александр. Самара.
Приветствую всех.
Это не так. В результатах запроса корректно должны отображаться все значения,
по модулю меньше 100.0.
Число, которое вы хотите поместить в базу, содержит больше десятичных разрядов,
чем вы указали в формате столбца. 99.99 -- это максимальное число, которое может
хранить ваш столбец.
По всей видимости, вы имели в виду float (6,2), т.е. 4 разряда до десятичной
точки и два разряда после нее.
Кроме как изменить формат столбца, вряд ли можно что-либо еще посоветовать. Можно,
конечно, перед записью в базу делить число на какой-нибудь коэффициент (т.е.
считать цену в тысячах или миллионах рублей), но в этом случае вы теряете точность.
Успехов. Анатолий.