Привет,
Подскажите, мне надо что бы из базы брались 2 числа
из полей сумма и количество и считалось.
какие типы полей надо сделать?
у меня работает но если при добавление в базу числа 0,3 то он не считает
а если 0.3 то считает
Или как можно сделать что бы при внесение информации в базу если пользователь пишет цену 0,3 что б она конвертировалась в 0.3
?
Или там какую нить проверку простенькую
или если он вводит в поле то можно ли ограничить символами тоесть что б вводились только цыфры и точка в поле textarea
1. cooperok - 09 Ноября, 2011 - 09:04:00 - перейти к сообщению
2. EuGen - 09 Ноября, 2011 - 09:14:19 - перейти к сообщению
Конвертируйте значения в приложении. А лучше и считать там же (если это не агрегация). БД - не калькулятор.
3. Самогонщик - 09 Ноября, 2011 - 09:17:27 - перейти к сообщению
Проверку на серверной стороне того что ввёл пользователь нужно делать обязательно в любом случае. Можно проверять с помощью is_numeric, а потом до кучи проверять диапазон, формат и т.д.
Так же хорошо сделать валидацию на стороне клиента, чтобы он не мог отправить данные неверного формата (снижает нагрузку на сервер и на пользователя).
Если считаете деньги, то формат ячейки точно не должен быть вещественным.
Так же хорошо сделать валидацию на стороне клиента, чтобы он не мог отправить данные неверного формата (снижает нагрузку на сервер и на пользователя).
Если считаете деньги, то формат ячейки точно не должен быть вещественным.
4. DlTA - 09 Ноября, 2011 - 11:04:19 - перейти к сообщению
Самогонщик пишет:
Если считаете деньги, то формат ячейки точно не должен быть вещественным.
почему?
5. Самогонщик - 09 Ноября, 2011 - 11:10:00 - перейти к сообщению
DlTA пишет:
Потеря точности. Вещественные числа весьма примерно представляют дробную часть десятичных чисел, что приводит к весьма неприятным последствиям.почему?
(Добавление)
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?php
- $t = 0.2+0.1;
- $d = 0.3;
- if ( $t==$d)
- echo "ololo";
- else
- echo "oh-lolo";
- ?>