Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизОкругление числа!!! Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.042 c