Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.041 c
1-1080117303
Gia Gvatua
2004-03-24 11:35
2004.04.11
About TListView


1-1079684409
$tranger
2004-03-19 11:20
2004.04.11
Аналог ShellTreeView


1-1079985762
MonkRo
2004-03-22 23:02
2004.04.11
Надстрочные и подстрочные знаки в RichEdit


6-1075903292
Maksss
2004-02-04 17:01
2004.04.11
webbrowser


7-1075732685
M@Rt
2004-02-02 17:38
2004.04.11
Определение серийного номера материнской платы




   Наверх