Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
ВнизКак огруглить число...? Найти похожие ветки
← →
KMM (2002-03-01 12:48) [0]Существует ли стандартная функция округления числа с заданной точностью? Т.е. как округлить например 6,786549... до третьего
(например) знака после запятой?
Заранее благодарю.
← →
IronHawk (2002-03-01 12:56) [1]Есть разные типы округления !
Есть "обрезка", тоесть будет не 6,786549 а 6,786 !
Есть "аккуратная обрезка", тоесть будет не 6,786549, а урезаться в большую сторону ! (ну в этом случае 6,786549 ) будет тож 6,786 !
а так ващето проще :
CurrToStrF
- это верняк ! Проверенно !
← →
Виктор Щербаков (2002-03-01 12:59) [2]Умножь число на 10^(кол-во знаков после запятой).
Округли до целого (функция Round).
Раздели результат на 10^(кол-во знаков после запятой).
← →
Фэ (2002-03-01 13:06) [3]to IronHawk
А не рано ли ты начал советовать ?
Тем более муть голубую ?
function Roundto(var val: Double; num: integer): double;
var
j: integer;
dd: double;
begin
dd:=1;
case num of
0 : dd:=1;
1 : dd:=10;
else
for j:=1 to num do
dd := dd* 10;
end;
result:=int((val * dd + 0.5) / dd;
end;
Только надо иметь в виду, что из-за конечности разрядной сетки может вылезти ошибка и рез-т м.б. не 3.5, а 3.49999999999999
← →
KMM (2002-03-01 13:10) [4]Спасибо!
← →
IronHawk (2002-03-01 13:13) [5]
> Фэ © (01.03.02 13:06)
> to IronHawk
> А не рано ли ты начал советовать ?
Незнаю рано или нет, это моё дело, просто помочь хотелось !
> Тем более муть голубую ?
У "белых" людей эта муть работает !
> Только надо иметь в виду, что из-за конечности разрядной
> сетки может вылезти ошибка и рез-т м.б. не 3.5, а 3.49999999999999
Вот поэтому и надо CurrToStrF !!!
2Фэ ©
В чужой ветке, огрызания и наезды на других, это невежество !
← →
KMM (2002-03-01 13:28) [6]Спасибо всем еще раз.
Я обычно пользуюсь FormatFloat, но она
возвращает (так же как и CarrToStrF) строку, которую потом приходится снова превращать в число. Вот и подумалось, может есть
какая-то стандартная функция чтоб сразу из числа в число.
← →
IronHawk (2002-03-01 13:46) [7]
> KMM
Ну если
> может есть
> какая-то стандартная функция чтоб сразу из числа в число.
То это случай Фэ ©
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c