Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
1-1156342131
Sam Stone
2006-08-23 18:08
2006.10.01
CoUnInitialize()


15-1158039042
Dmitry_177
2006-09-12 09:30
2006.10.01
Разрешить доступ другим компъютерам сети


11-1133828548
-=Mike=-
2005-12-06 03:22
2006.10.01
Два вопроса по разработке компонентов.


2-1157818314
!aLeXa!
2006-09-09 20:11
2006.10.01
Combining signed and unsigned types - widened both operands


2-1157964421
031178
2006-09-11 12:47
2006.10.01
Работа с DBComboBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский