Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   убрать знак "-" (http://www.flasher.ru/forum/showthread.php?t=125433)

VVall 24.05.2009 16:45

Общие сведения здесь: http://ru.wikipedia.org/wiki/Тернарн...овная_операция

_moscow 25.05.2009 00:10

Теперь опять проблема с подсчетами ,

например отнимаем в цыкле

Код AS3:

 
var _num:Number = 50;
 
for (var i:int = 0; i < 10; i++) {
 
trace(_num -= 0.1);
}
 
//результат
 
49.9
49.8
49.699999999999996
49.599999999999994
49.49999999999999
49.39999999999999
49.29999999999999
49.19999999999999
49.09999999999999
48.999999999999986

а почему ? так должноже быть
49.9
49.8
49.7
49.6
и.т.д может я что не так делаю , и как этого избежать ?

Stargazer 25.05.2009 00:14

По-моему, погрешность в 1*10^-15 - это не так уж страшно :)

wvxvw 25.05.2009 00:18

>> и как этого избежать?
Отнимайте целые числа, а потом делите.

_moscow 25.05.2009 00:24

NumberUtilities.round(89.9000000, .01);

в книге написанно так округлять - но оно бьет ошибку и класс я этот найти не могу !

wvxvw 25.05.2009 00:54

Это чей-то класс, (не билт-ин).
А в чем проблема отнять целое число и поделить на десять?

_moscow 25.05.2009 01:06

ну можно отнять целое число но тогда нужно вернуть 0.9 , так тоже не получается , у меня обьект двигается скорость 0.1 , я не могу отнять 1

iNils 25.05.2009 01:27

Код AS3:

var _num:Number = 500;
 
for (var i:int = 0; i < 10; i++) {
        _num--;
        trace (_num/10);
}

Код AS3:

49.9
49.8
49.7
49.6
49.5
49.4
49.3
49.2
49.1
49



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

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