Re[2]: Как так? JavaScript
От: onedes  
Дата: 21.09.07 10:20
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, onedes, Вы писали:


O>>Результат: у IE: 99.99999999999998 у Opera: 99.99999999999999

O>>PS:Странно даже тут опера оказалась точнее IE... респект опере =))
B>1) JavaScript это не Java
B>2) Разберись что такое числа с плавающей запятой и как они представляются в двоичном формате. Тогда ты поймешь что не все десяитичные дроби можно представить конечной записью в двоичном виде. И наоборот. То что мы получаев в двоичном виде не имеет конечного предствления в десятичной записи. Отсюда и подобные артефакты при вычислениях над нецелочисленными типами.

Понял, но несовсем понятно почему Опера и IE дают разные результаты.
Например: тот же стандартный калькулятор выдаёт 100

Да и C++ тоже не подвёл:


    DOUBLE x = 110, y=1.1;
    x = x / y;
    printf("Res: %f\r\n",x);

Результат: 100.000000

с JavaScript оч странно получается.

PS: я понимаю что Java это не JavaScript, но тут нет форума JScript
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.