Форум: "Начинающим";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
ВнизОкругление в Дельфе Найти похожие ветки
← →
Извращенец (2006-09-11 13:21) [0]Добрый день! Наткнулся на проблему - внешне безобидная строка:
FormatFloat("0.0000",9.33335) на моем компе возвращает 9.3334, а у юзеров - 9.3333! Т.е. не округляет 5 до целого... почему может быть такое?
← →
PSPF2003 © (2006-09-11 13:28) [1]FormatFloat("0.0",9.33335)?
← →
balepa © (2006-09-11 14:21) [2]Извращенец (11.09.06 13:21)
У юзеров и у тебя какая винда?
← →
icWasya © (2006-09-11 15:08) [3]а вот ещё
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1217
← →
guav © (2006-09-11 15:13) [4]Coprocessor Conrtol Word разный. Некоторые функции winapi меняют его, его можно восстанавливать из Default8087CW.
см SetPrecisionMode , Set8087CW , Default8087CW.
← →
MacroDenS © (2006-09-11 16:23) [5]а если использовать ф-цию RoundTo из модуля Math?
← →
Rater1 (2006-09-12 09:13) [6]А если так:
FormatFloat("0.0000",9.33335+0.0000001) ?
← →
evvcom © (2006-09-12 09:17) [7]> [6] Rater1 (12.09.06 09:13)
А если
FormatFloat("0.0000",9.3333499+0.0000001) ? :)
← →
Rater1 (2006-09-12 09:32) [8]Разрядность подбирается экпериментально :-)
просто часто число 9.33335 реально представлено как 9.3333499999999
да и по правилам округления
FormatFloat("0.0000",9.3333499+0.0000001) = 9.3333
правила: http://do.rksi.ru/library/courses/chm/ch01s03.dbk
← →
evvcom © (2006-09-12 10:07) [9]> [8] Rater1 (12.09.06 09:32)
Правила разные бывают. То, о чем ты - банковское округление. См. SetRoundMode function.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c