Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
непонятки с double (lamka) 06/01/2010 - 21:02:43
      Re: непонятки с double (lamka) 06/01/2010 - 21:08:02
      Re: непонятки с double (bac) 06/01/2010 - 22:53:00
      Re: непонятки с double (lamka) 06/01/2010 - 23:04:33
      Re: непонятки с double (bac) 06/01/2010 - 23:48:03
      Re: непонятки с double (lamka) 07/01/2010 - 00:55:49

> Original message text:
> From: lamka - 06/01/2010 - 21:02:43
> Subject:непонятки с double
> -----------------
> Доброго! Есть таблица
>
> CREATE TABLE `table1` (
> `id` int(10) unsigned NOT NULL auto_increment,
> `money` float(22,4) NOT NULL default '0.0000',
> `credit` double(22,4) NOT NULL default '0.0000'
> ) ENGINE=MyISAM DEFAULT CHARSET=cp1251
>
> В поле money значение -306.1955. Задача: в поле credit записать значение равное значению поля money. Делаем:
>
> UPDATE table1 SET credit=ABS(money)
>
> Далее проверяем:
>
> SELECT money+credit from table1
>
> и получем:
>
> -5.6843418860808e-14
>
> Внимание вопрос! Что за хрень и как побороть?
>
>
>


From: bac - 06/01/2010 - 23:48:03
Subject:непонятки с double
-----------------
1. У меня стоит версия 5.1.34 под виндами. Так вот я все проделал, как указано в примере. На клиенте показывает как надо - 0.0000

2. У меня была одна задачка на MySQL 4.1. Я успешно переехал на 5.1. Она в настоящее время имеет статус рекомендуемой.
Самое приятное там хранимые процедуры, да и синтаксис запросов стал жестче контролироваться.

3. А насчет работы с плавающей арифметикой все-таки подумайте - возможно то что выводится это и есть ноль.

4. Теоретически если почитать инструкцию, то указанная размерность (float(22,4)) используется исключительно для отображения на клиенте. Ведь результат же с сервера передается в текстовом виде (как я понимаю), а уже дальше преобразовывается в нужное представление. По крайней мере, когда я пишу прогу на С++ с библиотекой QT, то получаю в качестве результата тип QVariant который и привожу к нужному мне.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
36627



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |