Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > RoundTo


Автор: Chyslyvchyk 8.9.2004, 13:11
Код
RoundTo(1.235, -2)

Результат: 1.23
А нужен результат: 1.24
adv/help.gif

Автор: _hunter 8.9.2004, 13:21
какого типа у тебя результат?
может это:
The behavior of RoundTo can be affected by the Set8087CW procedure or SetRoundMode function.
имеет место

Автор: Chyslyvchyk 8.9.2004, 13:34
Вот так вот у меня:
Код
Tab.Fields[2].AsVariant := RoundTo(Excel.Cells[i,j].VAlue, -2);


А у SetRoundMode function есть только:
rmNearest - Rounds to the closest value. - до ближайшего, опять же имеем 1.23
rmDown - Rounds toward negative infinity. - вроде для отрицательных, в общем постоянно 1.23
rmUp - Rounds toward positive infinity. - вроде для положительных, постоянно 1.24
rmTruncate - Truncates the value, rounding positive numbers down and negative numbers up. - до ближайшего, опять же имеем 1.23

Автор: Chyslyvchyk 8.9.2004, 13:47
То есть, мне нужно, чтобы оно было rmNearest, но разпознавало что 1.235 - нужно округлить к большему целому

Автор: <Spawn> 8.9.2004, 15:28
Перед вызовом делай:

Код
SetRoundMode(rmUp);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)