Главная страница
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.056 c
2-1157719579
max1991
2006-09-08 16:46
2006.10.01
помогите, пожалуйста с TaskBar


1-1156004220
Elf-Eluna-Alina
2006-08-19 20:17
2006.10.01
Вставить текст в RichEdit


2-1158145423
Gorin
2006-09-13 15:03
2006.10.01
Как сохранить изменения, сделанные SQL запросом.


15-1157884568
ArtemESC
2006-09-10 14:36
2006.10.01
C++2Pascal


1-1155860315
DDDeN
2006-08-18 04:18
2006.10.01
Сделать снимок раб. стола