Форум: "Основная";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
ВнизОкругление и другие операции над числами Найти похожие ветки
← →
Amentah (2006-01-20 09:19) [0]Подскажите, пожалуйста, каким образом превратить число
56,764 в 56,76
56 в 5,00
а 56,765 в 56,77?
← →
Andy BitOff © (2006-01-20 09:56) [1]Amentah (20.01.06 09:19)
...каким образом...
Почитать про Round, а так же See also к нему.
Правда 56 в 5,00 так всеравно не получится.
← →
Amentah (2006-01-20 09:57) [2]простите, опечатка
56 в 56,00
← →
DimonS © (2006-01-20 10:57) [3]Хм...
Попробуй через FormatFloat(). Правда будет строка, но ее то легко преобразовать обратно в Float. Но это собственно не округляет, а отбрасывает лишние цифирьки. Но в общем то хватает.
← →
piople © (2006-01-20 11:28) [4]рамблер + паскаль + округление вещественных чисел...
← →
Gero © (2006-01-20 11:46) [5]uses Math
RoundTo
← →
zorik © (2006-01-20 12:10) [6]Round() работает криво, лутче --
function MyRound(const X:Double; N: Byte): Double;
var
i: Byte;
n1: Integer;
begin
n1 := 1;
for i := 1 to N do n1 := n1*10;
Result := Trunc(X*n1+0.5)/n1;
end;
где N - количество знаков после запятой
← →
Плохиш © (2006-01-20 12:34) [7]
> zorik © (20.01.06 12:10) [6]
> Round() работает криво
Што ви такое говорите?
← →
Gero © (2006-01-20 12:39) [8]> лутче
Чем «лутче»?
← →
zorik © (2006-01-20 12:54) [9]согласен, с "криво" я погорячился. Все так и задумано. Я имел ввиду, что:
...
Round(2.3) = 2
Round(2.4) = 2
Round(2.5) = 2
Round(2.6) = 3
...
Round(3.4) = 3
Round(3.5) = 4
Round(3.6) = 4
...
а автору вопроса нужно "простое класическое математическое" округление, судя по всему :-)
← →
zorik © (2006-01-20 12:58) [10]
> Што ви такое говорите?
Кстати Round(56,765*100)/100 равно 56,76 , а не 56,77
Проверяйте!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.033 c