Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Не работает округление до сотых

Сообщения:  [1-10]    [11-20]  [21-26] 

 
 автор: Trianon   (24.05.2010 в 03:43)   письмо автору
 
   для: tvv123456   (24.05.2010 в 02:19)
 

>а как я вам приведу это клиент тестил а что приблизительно получилось это вы и сами можете посмотреть
то есть Вам, собственно, ничего не нужно?
Так бы сразу и сказали.

>Я УВЕРЕН ЧТО PHP ОТДАЕТ МУSQL ЧИСЛА ОКРУГЛЕННЫЕ ДО СОТЫХ, А МУСКУЛ УЖЕ НАЧИНАЕТ ВЫПЕНДРИВАТЬСЯ

php не умеет MySQL'у числа отдавать - только строки. И принимать только строки умеет.
И эти самые строки Вы и не приводите. Говорить не о чем.

  Ответить  
 
 автор: tvv123456   (24.05.2010 в 02:19)   письмо автору
 
   для: Trianon   (24.05.2010 в 02:16)
 

а как я вам приведу это клиент тестил а что приблизительно получилось это вы и сами можете посмотреть( я говорю проблема решена но все же). Вообщем сморите мой код(можете проверить там нужно 3 поля создать только(2 селекта и одно сумма перевода)

А сумму он там пытался перевести 7 баксов(но говорю вам там всю даже при подсчтетах округляеться на уровне пхп а в мускул отдаеться арифметика)

Я УВЕРЕН ЧТО PHP ОТДАЕТ МУSQL ЧИСЛА ОКРУГЛЕННЫЕ ДО СОТЫХ, А МУСКУЛ УЖЕ НАЧИНАЕТ ВЫПЕНДРИВАТЬСЯ

  Ответить  
 
 автор: Trianon   (24.05.2010 в 02:16)   письмо автору
 
   для: tvv123456   (24.05.2010 в 02:14)
 

повторяю еще раз.
SQL-кода с подставленными арифметическими величинами там нет.
Есть фрагменты текста на php до момента вызова.
Приводите оконечный SQL-код с дампом строк таблицы - будем разбираться.
А так - голословно всё.

  Ответить  
 
 автор: tvv123456   (24.05.2010 в 02:14)   письмо автору
 
   для: Trianon   (24.05.2010 в 02:11)
 

Ну вы глянте на код то что я в начале( в первом посте) написал-то
я там на уровне php все округляю до сотых

Вообщем трабла(БЫЛА и ИМЕНно БЫЛА) в том что я на php ысе что можно кастрировал до сотых а в базу шло херь какая-та(тип поля варчар)

  Ответить  
 
 автор: Trianon   (24.05.2010 в 02:11)   письмо автору
 
   для: tvv123456   (24.05.2010 в 02:02)
 

следовательно это было 2.00000000000001 + 1 = 3.00000000000001
и извините, но это не то же самое, что 0,01+0,2 = 0,2145484845487487897987
Посчитали бы относительную погрешность. Она за пределами представимой точности. В отличие от.
А на дизайн мускул чихать хотел. И был где-то как-то прав.

  Ответить  
 
 автор: tvv123456   (24.05.2010 в 02:02)   письмо автору
 
   для: Trianon   (24.05.2010 в 01:58)
 

UPDATE users SET users webmoney=webmoney+1 WHERE  
id=$id_user
устроит?
Вообщем то проблема не в этом
допустим 2+1=3 - кто поспорит?
Но почему то мускул по выше приведенному считает что это 3,00000000000000001 и это некрасиво вписываеться в дизайн

  Ответить  
 
 автор: Trianon   (24.05.2010 в 01:58)   письмо автору
 
   для: tvv123456   (24.05.2010 в 01:56)
 

Изначальный код?
SQL?
Не обнаружил.

  Ответить  
 
 автор: tvv123456   (24.05.2010 в 01:56)   письмо автору
 
   для: Trianon   (24.05.2010 в 01:53)
 

а куда сложнее - то? это же арифтметика. Глянте на мой изначальный код, там именно 0.1+2
И ЕМУ ПОДОБНОЕ, ВСЕ ОКРУГЛЯЕТЬСЯ, ТУТ ИМЕННО что мускул что-то выдает(все чилса округлены до сотых а она выдает миллионные? что за фигня вообще?

  Ответить  
 
 автор: Trianon   (24.05.2010 в 01:53)   письмо автору
 
   для: tvv123456   (24.05.2010 в 01:50)
 

значит вычисление было несколько более сложным.
Кроме того, апеллируя к таким доводам - сперва переводите константы в двоичную запись

PS. 0.01 + 0.2 будет равно ... нулю. Если выполнять операцию в целых числах. Не удивляет ведь?

  Ответить  
 
 автор: tvv123456   (24.05.2010 в 01:50)   письмо автору
 
   для: Trianon   (24.05.2010 в 01:20)
 

дак блин сложно(по-моему) арифметически получить0,01+0,2 = 0,2145484845487487897987
А вы не находите?

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-26] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования