Главная страница
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.026 c
15-1157913618
autokubitel
2006-09-10 22:40
2006.10.01
Лада Калина


3-1153948468
bumper
2006-07-27 01:14
2006.10.01
Где проблема с рус.кодировкой - в FB 1.5.3 или EhLib 3.6?


5-1140003051
Святослав
2006-02-15 14:30
2006.10.01
Как перерисовать картинку?


3-1154031126
bumper
2006-07-28 00:12
2006.10.01
Битовые операции в SQL


2-1157960281
S@[ShocK]
2006-09-11 11:38
2006.10.01
Как получить переменную "Мои документы"?