![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2005
Сообщений: 1
|
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)) } |
|
|||||
|
Регистрация: Jun 2005
Сообщений: 40
|
видимо ошибки точности при работе с плавающей точкой
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Тема не раз обсуждалась, и тут тоже http://flash-mx.ru/forum/topic_show.pl?tid=167
|
![]() |
![]() |
Часовой пояс GMT +4, время: 03:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|