Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   -2.77555756156289e-17 (http://www.flasher.ru/forum/showthread.php?t=72045)

glob 18.11.2005 04:18

-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
Почему?...

liquid lone 18.11.2005 08:50

А так работает:

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))
}

maelstorm 18.11.2005 10:45

видимо ошибки точности при работе с плавающей точкой

iNils 18.11.2005 14:40

Тема не раз обсуждалась, и тут тоже 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.