Главная страница
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.031 c
3-1079438598
Жук
2004-03-16 15:03
2004.04.11
Проблема с ADODataSet.Delete


1-1080218772
highlander
2004-03-25 15:46
2004.04.11
Округление чисел типа real


1-1082906276
Seldon
2004-04-25 19:17
2004.04.11
Информация о Themes.pas


1-1082468987
NeyroSpace
2004-04-20 17:49
2004.04.11
TJvxRichEdit/TRxRichEdit как в них вставить анимированный GIF?


1-1080094627
Andrew
2004-03-24 05:17
2004.04.11
Excel