Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Вниз

выборка float из mysql   Найти похожие ветки 

 
morda   (2006-10-19 05:48) [0]

Всех приветствую. Столкнулся с такой проблемой:
подключаюсь из delphi-программы к mysql через ADO+ODBC. в таблице есть несколько полей типа float. выбираю все поля в dbgrid. Потом обращаюсь к полю которое равно например 0,31:

dbgrid1.DataSource.DataSet.Fields.FieldByNumber(i).asfloat

получаю 0,310000002384186

как так 0,31  = 0,310000002384186 ;  0,32 = 0,319999992847443 ?
как взять правильное число (буду очень признателен за код)


 
Ketmar ©   (2006-10-19 05:50) [1]

а это и есть правильное число. "правильней" некуда. а то, что какой-то софт его тебе округляет при выводе -- так это глюки софта.


 
morda   (2006-10-19 06:11) [2]

нет, 0,31  - это правильное число, я сам вводил его в таблицу, и mysql отображает ИМЕННО его по такому же запросу как и в делфи. А Вот откуда в делфи берётся мусор после запятой и главно как получить именно то число которое в СУБД ?


 
Ketmar ©   (2006-10-19 06:15) [3]

повторю для водителей бронепоезда: если какой-то софт округляет числа -- то это интимные баги этого софта. Delphi за тебя округлять не будет.

а что ты там воодил -- это дело десятое. почитай о представлении дробных чисел в компе. сразу всё прояснится.


 
Ketmar ©   (2006-10-19 06:16) [4]

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


 
vegarulez ©   (2006-10-19 06:21) [5]

У флоата, когда в делфе к базе обращаешся поставь порог точности.
то бишь разрядности после зпт. и всё.


 
Ketmar ©   (2006-10-19 06:22) [6]

>[5] vegarulez(c) 19-Oct-2006, 06:21
>и всё.
и прощайте, точные значения. %-)


 
morda   (2006-10-19 06:32) [7]

как порог точности в делфи поставить
приведи код пожалуйста
есть такой оператор ?


 
Anatoly Podgoretsky ©   (2006-10-19 08:56) [8]


> нет, 0,31  - это правильное число, я сам вводил его в таблицу

Это исключено, база не в состоянии хранить подобное число и это не обойти, фундаментальные законы дискретной математики.


 
Anatoly Podgoretsky ©   (2006-10-19 08:58) [9]

> У флоата, когда в делфе к базе обращаешся поставь порог точности.
то бишь разрядности после зпт. и всё.

Попробуй перевести слово флоат, что бы понять абсурдность данного предложения.


 
Anatoly Podgoretsky ©   (2006-10-19 08:59) [10]


> А Вот откуда в делфи берётся мусор после запятой и главно
> как получить именно то число которое в СУБД

Ты его получил, если получишь, что то другое, значит по дороге где то затесался диверсант.


 
Anatoly Podgoretsky ©   (2006-10-19 09:00) [11]


> и прощайте, точные значения. %-)

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


 
Ketmar ©   (2006-10-19 09:05) [12]

>[11] Anatoly Podgoretsky(c) 19-Oct-2006, 09:00
>Как раз наоборот, если число с фиксированым числом знаков
>после запятой, то до здраствуют точные числа.
я отвечал в контексте ветки. если здесь округлять/обрезать -- то точное значение тю-тю.


 
vegarulez ©   (2006-10-19 09:07) [13]

procedure TForm1.Button1Click(Sender: TObject);
var
i:extended;
begin
i:=strtofloat(Edit1.Text);
label1.Caption:=formatfloat("0.00",i);
end;


 
vegarulez ©   (2006-10-19 09:09) [14]

procedure TForm1.Button1Click(Sender: TObject);
var
i:extended;
begin
i:=strtofloat(Edit1.Text);
label1.Caption:=formatfloat("0.00",i);
end;

end.


 
Ketmar ©   (2006-10-19 09:11) [15]

>[14] vegarulez(c) 19-Oct-2006, 09:09
двойка. внимательно читай [2]. "как получить именно то число которое в СУБД ?" твой код даёт вовсе не это.


 
vegarulez ©   (2006-10-19 09:14) [16]

Ну в мускле тогда зайти и настроить float до какого символа записывать флоат в ту колонку, из которой он берёт значение...


 
Johnmen ©   (2006-10-19 09:21) [17]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374
читать до полного...


 
Anatoly Podgoretsky ©   (2006-10-19 18:49) [18]


> Ну в мускле тогда зайти и настроить float до какого символа
> записывать флоат в ту колонку, из которой он берёт значение.
> ..

А что у него числа с плавающей запятой, с неплавающей запятой.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.037 c
4-1150881828
DmitryFox
2006-06-21 13:23
2006.11.05
Доступ к файлу в сжатой папке с паролем


2-1161277797
funky
2006-10-19 21:09
2006.11.05
окно зависает


2-1161443898
rds_home
2006-10-21 19:18
2006.11.05
Объем памяти занимаемый приложением


2-1161588260
mike ilin
2006-10-23 11:24
2006.11.05
работа с компонентами


2-1161454335
Батя
2006-10-21 22:12
2006.11.05
как подсчитать весь трафик моей проги





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский