Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.47 MB
Время: 0.005 c
8-30922
Nimda
2002-01-26 18:01
2002.06.10
---|Ветка была без названия|---


3-30702
studentik
2002-05-17 19:38
2002.06.10
Распространение приложения


1-30802
Янушка
2002-05-31 11:44
2002.06.10
Как изменить цвет у заголовка окна формы


3-30692
Fay
2002-05-17 20:34
2002.06.10
Что мне делать и где у меня ошибка


6-30941
Renton
2002-03-16 20:41
2002.06.10
Запрет/Разрешение на Интернет





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский