Форум: "Основная";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
ВнизОчередная ошибка точности???!!! Найти похожие ветки
← →
wp2 (2005-08-01 02:05) [0]var a, b: Real;
begin
a := 10;
b := 0.2;
Edit1.Text := IntToStr(Trunc(a/b)) // выводит 49!!!
End;
Если использовать вместо Trunc функцию Int, то результат будет тот же!!!
И что мне теперь делать?
Прибавить к a/b число 0,00000001 что ли?
А есть ли другой способ?
Round мне не нужен.
← →
Eraser © (2005-08-01 02:15) [1]wp2 (01.08.05 02:05)
Попробуй Round.
← →
wp2 (2005-08-01 02:26) [2]Раунд мне не нужен. Так как логика программы требует отсечения
дробной части.
← →
Lexa (2005-08-01 02:36) [3]x := 10/0.2;
intToStr(Trunc(x));
← →
Silver... © (2005-08-01 03:16) [4]
FloatToStr(RoundTo(a/b, 0))
илиVarToStr(RoundTo(a/b, 0))
← →
Lexa (2005-08-01 03:45) [5]
> Silver... ©
[3],[4] - результат один и тот же
← →
SergP © (2005-08-01 03:54) [6]Может тебе
var a, b: Currency;
подойдет в данном случае?
← →
Admido (2005-08-01 14:48) [7]A чего слелать то надо? 50 получить? =]
Edit1.Text := FormatFloat("#0", a/b); // 50 :)
Edit2.Text := FloatToStr(a/b); // 50 :)
← →
Чапаев © (2005-08-01 14:51) [8]> Раунд мне не нужен. Так как логика программы требует отсечения
дробной части.
Так какие претензии? Trunc тебе дробную часть и отсёк...
← →
Fay © (2005-08-01 16:01) [9]Тяжёлый случай...
← →
HSolo © (2005-08-01 17:22) [10]http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374
← →
vrem (2005-08-01 17:33) [11]Перевести a и b в целые числа, избавиться от дробной части
затем делить, можно даже используя div - т.е. так, что бы дробная часть результата вообще не влияла ни на что.
в примере будет 100 делить на 2
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c