Вниз
Скачать: 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.966 c
14-1079167900
YurikGl
2004-03-13 11:51
2004.04.11
Рекурентный и рекурсивный


3-1079116473
Skif
2004-03-12 21:34
2004.04.11
Show tables;


6-1075816291
Victor!
2004-02-03 16:51
2004.04.11
Передача данных


1-1080127303
Zilog
2004-03-24 14:21
2004.04.11
Расчет времени! Нужна помощь...


1-1079197347
$tranger
2004-03-13 20:02
2004.04.11
Дерево папок




   Наверх