Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.01;
Скачать: CL | DM;

Вниз

Округление в Дельфе   Найти похожие ветки 

 
Извращенец   (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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
15-1157952106
Ega23
2006-09-11 09:21
2006.10.01
С Днём рождения! 10 сентября


15-1157688089
num
2006-09-08 08:01
2006.10.01
Логин и пароль


2-1157796355
max1991
2006-09-09 14:05
2006.10.01
Подскажите пожалуйста, как правильно перевести Char to STR


1-1156155326
anton773
2006-08-21 14:15
2006.10.01
PrintDocument и PrintprevievDialog


2-1157981853
Jager
2006-09-11 17:37
2006.10.01
Как работать к LPT портом?