Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Округление числа!!!   Найти похожие ветки 

 
ser_ega   (2004-03-19 21:39) [0]

Мастера помогите!!!! Есть число A:=3.1456987456. Как мне его округлить до десятых, сотых, тысячных и т.д. Есть же наверное какойто оператор!!!


 
Алхимик ©   (2004-03-19 21:42) [1]

A := Round(A*100)/100;


 
Vemer ©   (2004-03-19 23:51) [2]

У меня примерно так(пример до сотых):
X := Trunc(A*1000) - Trunc(A*100)*10;
A := Trunc(A * 100);
If X > 4 Then A := A + 1;
A := A/100;

Писал на скорую руку по памяти, код можно оптимизировать.
Автору рекомендую разобраться с форматами хранения чисел, иначе никакое округление не поможет.


 
Алхимик ©   (2004-03-20 00:18) [3]


> У меня примерно так(пример до сотых):
> X := Trunc(A*1000) - Trunc(A*100)*10;
> A := Trunc(A * 100);
> If X > 4 Then A := A + 1;
> A := A/100;
> Писал на скорую руку по памяти

Чесать левой ногой правое ухо :)


 
Defunct ©   (2004-03-20 00:35) [4]

Format("%F1.2",[3.1416]); // отобразит 2 знака после запятой
Format("%F1.1",[3.1416]); // отобразит 1 знак после запятой


 
Алхимик ©   (2004-03-20 00:43) [5]

> [4] Defunct ©   (20.03.04 00:35)
Про отображение в вопросе ни слова.


 
Defunct ©   (2004-03-20 00:49) [6]

Алхимик ©   (20.03.04 00:43) [5]

Сам вопрос это подоазумевает.

IMHO округление делается только с целью отображения, не вижу других вариантов применения.

Тока не говорите, что округление можно делать с целью увеличения погрешности результата мат. операций.


 
Германн ©   (2004-03-20 00:50) [7]

Может RoundTo сгодится?


 
DrPass ©   (2004-03-20 22:45) [8]

Нет, RoundTo слишком сложно. Проще

> X := Trunc(A*1000) - Trunc(A*100)*10;
> A := Trunc(A * 100);
> If X > 4 Then A := A + 1;
> A := A/100;
> Писал на скорую руку по памяти, код можно оптимизировать.

только оптимизировать нужно :)



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

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.036 c
14-1079331760
ИМХО
2004-03-15 09:22
2004.04.11
Насколько опасен MS Outlook Express


1-1082500848
Cref12
2004-04-21 02:40
2004.04.11
Image


11-1058608108
Dentall
2003-07-19 13:48
2004.04.11
Динамическое создание формы в KOL


14-1082011916
LaidBack
2004-04-15 10:51
2004.04.11
Люди! Вышлите мне файл таблицы *.tps, пожалуйста!


6-1075029390
Barmutik
2004-01-25 14:16
2004.04.11
WebBrowser и HTTPS сессия