![]() |
-2.77555756156289e-17
hi.
code: a = 0.3; for (b=1; b<=3; b++) { a -= 0.1; trace(a); } out: 0.2 0.1 -2.77555756156289e-17 Почему?... |
А так работает:
a = 0.3; //num - число, которое округляем, n - до какого знака после запятой округляем function myRound (num, n) { var kof = Math.pow(10, n) return Math.round(num*kof)/kof } for (b=1; b<=3; b++) { a -= 0.1; trace (myRound(a, 1)) } |
видимо ошибки точности при работе с плавающей точкой
|
Тема не раз обсуждалась, и тут тоже http://flash-mx.ru/forum/topic_show.pl?tid=167
|
| Часовой пояс GMT +4, время: 01:41. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.