Форум: "Основная";
Текущий архив: 2002.06.10;
Скачать: [xml.tar.bz2];
Внизтип real Найти похожие ветки
← →
maxon (2002-05-28 12:39) [0]как мне присвоить или показать переменную типа real, что бы она округлялась или показывалась до 4-го знака после запятой.
← →
Song (2002-05-28 13:41) [1]multimedia средствами?
← →
Fredericco (2002-05-29 14:00) [2]
r:real;
s:string;
....
r:=10.123456789;
s:=FloatToStr(Trunc(r*1000)/1000);
ShowMessage(s);
← →
Lord Warlock (2002-05-29 14:13) [3]ShowMessage(format("%10.4f",[r]))
← →
Anatoly Podgoretsky (2002-05-29 14:24) [4]Fredericco © (29.05.02 14:00)
Зело рекомендую проверить
f:real;
s:string;
f:=0.02;
s:=FloatToStr(Trunc(f*1000)/1000);
ShowMessage(s);
← →
Игорь Шевченко (2002-05-29 14:39) [5]function RoundTo(R: Extended; Places: Byte): Extended;
var
TempStr : string;
Code : integer;
begin
if Abs(R)<0.5*Exp(-Places*Ln(10)) then
Result:=0
else begin
Str(R:0:Places,TempStr);
Val(TempStr,Result,Code);
end;
end;
Передать ей real, он преобразуется в extended :-)))
← →
Lord Warlock (2002-05-29 14:44) [6]
> Игорь Шевченко © (29.05.02 14:39)
зачем если можно проще...
← →
Игорь Шевченко (2002-05-29 15:07) [7]Если надо округлить, то и мой вариант сгодится. Если только показывать, то можно и проще :-)
← →
Fredericco (2002-05-30 12:21) [8]2 Anatoly Podgoretsky © (29.05.02 14:24)
Проверил. Все работает.
Не понимаю в чем прикол? :-)
← →
Anatoly Podgoretsky (2002-05-30 12:40) [9]Fredericco © (30.05.02 12:21)
Я ошибся, надо не f:Real а F:Single
Но и для первого примера не верь глазам своим, а проверь значение с помощью отладчика
← →
Johnmen (2002-05-30 12:42) [10]Fredericco © (30.05.02 12:21)
Прикол в неотображении 4 знаков после десятичного разделителя :)
← →
Anatoly Podgoretsky (2002-05-30 12:49) [11]Прикол в другом, число с ПЛАВАЮЩЕЙ запятой, а не с фиксированный, поэтому это понятие не применимо, для подтвержения этого и выбрано именно это число, чсто бы доказать невозможность этой операции, и главное не надо путать вывод числа на дисплей с его истинным значением.
← →
Fredericco (2002-05-30 15:14) [12]2 Anatoly Podgoretsky © (30.05.02 12:49)
> maxon © (28.05.02 12:39)
> как мне присвоить или показать переменную типа real, что
> бы она округлялась или показывалась до 4-го знака после
> запятой.
Я и сам порой сталкивался с такой проблемой, и понял, что мне в принципе по фиг сколько у меня он там знаков после запятой сохраняет. А вот пользователю на экран или в БД как раз таким способом и сохранял. Тьфу-тьфу проблем и неточностей пока не было...
← →
Fredericco (2002-05-30 15:18) [13]И еще. В таких случаях обычно использую
Currency
.
Он сам, вроде, все округляет.
Currency –922337203685477.5808.. 922337203685477.5807
← →
Игорь Шевченко (2002-05-30 17:35) [14]Currency - это целое число. С фиксированной точкой
← →
Anatoly Podgoretsky (2002-05-30 19:45) [15]Fredericco © (30.05.02 15:14)
Вот это правильный подход, а для этого существует FormatFloat("0.0000",F)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.06.10;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.005 c