Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   trace(0.09 - 0.1) - это какой то баг? (http://www.flasher.ru/forum/showthread.php?t=103850)

voy22 13.11.2007 19:51

trace(0.09 - 0.1) - это какой то баг?
 
Собственно говоря стандартный калькулятор в винде решает уравнение следующим образом: 0.09 - 0.1 = -0.01
Флеш плеер же добавляет какуют кашу.
Кто нибудь, что нибудь слышал об этом?

BlooDHounD 13.11.2007 20:01

всё верно у меня посчитал. с небольшой погрешностью.

DarkLight 13.11.2007 20:05

Ошибка округления, это нормально. Используйте toFixed для красивого отображения результата.

aQuestion 13.11.2007 20:35

"стандартный калькулятор в винде" скорее всего работает в BCD, а флеш - с floating point.

kotsie 14.11.2007 08:00

в дополнение к предыдущему: float хранится в памяти приближённо с довольно большой точностью, но всё же приближённо. потому любое сравнение a == b лучше не делать флоатами. если интересует какая-то определённая точность, то можно округлять довольно смело.


Часовой пояс GMT +4, время: 23:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.