PDA

Просмотр полной версии : Как конвертнуть число в массив?


Tochilin
19.10.2009, 19:38
Есть число, например 238. Как мне его сконвертировать в массив состоящий из 3-х элементов?
arr[0]=2
arr[1]=3
arr[2]=8

А если число например 25, то массив всё равно должен быть из 3-х элементов, но первый элемент 0 (ноль).
arr[0]=0
arr[1]=2
arr[2]=5

etc
19.10.2009, 19:46
var n:Number = 238795;
var a:Array = new Array();
while (n) {
a.unshift(n % 10);
n = Math.floor(n / 10);
}
while (a.length < 3) a.unshift(0);
trace(a);

Tochilin
19.10.2009, 19:49
премного благодарен

Добавлено через 26 минут
ещё один вопросик.
У меня исходное число постоянно обновляется через onEnterFrame()
поэтому массив с каждым разом становится всё больше и больше.
Вот примерно так
var a:Array = new Array();
this.onEnterFrame = function() {
action(int(Math.random()*100));
};

function action(n:Number) {
while (n) {
a.unshift(n%10);
n = Math.floor(n/10);
}
while (a.length<3) {
a.unshift(0);
}
trace(a);
}
Как сделать, чтобы массив постоянно хранил 3 элемента, и не увеличивался в размерах?

dimarik
19.10.2009, 21:06
var a:Array;
this.onEnterFrame = function():Void {
this.a = String( Math.round( Math.random()*100 ) ).split('');
while (a.length < 3) a.unshift(0);
trace(a);
};

etc
19.10.2009, 21:44
dimarik, я так и думал, что ты пойдёшь по пути наименьшего сопротивления :)

Tochilin, нужно в action удалить все элементы из массива. Либо внести его как локальную переменную всё в тот же action.