Форум: "Начинающим";
Текущий архив: 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