Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.04.2006, 11:48
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 1  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
По умолчанию str.split(',') = array of number

Как сделать чтоб сплит мне вернул сразу массив чисел, а не строк ?
Или как это сделать наиболее оптимально с наименьшили затратами процессорного времени?.

в строке приходит огромный массив чисел разделленых запятой (этак тыщь 30),
просто делать потом циклов array[i] = Number(array[i]) довольно таки ресурсоемко %(.
благо мне все равно приходиться пробегать циклом по этим числам и я туда этот Number вставил.

Нужно именно числа т.к. потом с ними производиться множество операций (например суммирование, а флеш по умолчанию начинает суммировать их как строки %(( ). а вставлять каждый раз num=Number(array[i])+Number(array[i]) не выход


Последний раз редактировалось __i; 10.04.2006 в 11:52.
Старый 10.04.2006, 11:53
Homo Sapiens вне форума Посмотреть профиль Отправить личное сообщение для Homo Sapiens Посетить домашнюю страницу Homo Sapiens Найти все сообщения от Homo Sapiens
  № 2  
Ответить с цитированием
Homo Sapiens
 
Аватар для Homo Sapiens

Регистрация: Nov 2004
Адрес: Санкт-Петербург
Сообщений: 751
А что, так принципиально переводить в числа?
__________________
Всё гениальное просто.

Старый 10.04.2006, 11:58
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 3  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
а ты попробуй
Код:
str = '1,2,3,4,56,7'
my_ar = str.split(',')
s = new Number(0)
for (i=0; i< my_ar.length; i++){
s+=my_ar[i];
}
trace(s)

Старый 10.04.2006, 12:07
AxelRB вне форума Посмотреть профиль Отправить личное сообщение для AxelRB Посетить домашнюю страницу AxelRB Найти все сообщения от AxelRB
  № 4  
Ответить с цитированием
AxelRB
[+3 23.02.07]
 
Аватар для AxelRB

Регистрация: Mar 2006
Сообщений: 104
Скорее всего никак.
С преобразованием типов во флэше вообще какой-то геморрой. Никогда не знаешь какой тип тебе дадут. Мой пример:
Код:
class .... {
...
private var __width:Number;
private var __height:Number;
public function onResize() {
  var W:Number = (__width==0)?__mc.getDefaultWidth():(__width<0)?Stage.width+Number(__width):__width;
  var H:Number = (__height==0)?__mc.getDefaultHeight():(__height<0)?Stage.height+Number(__height):__height;
  ...
}
}
Пока не поставил принудитально преобразование в число, временами выдавало NaN !!! Предварительно значение присваивается всегда, поэтому дело не в undefined.
Короче, я так и не понял в чем прикол. Полным перебором искал, как исправить глюк. Исправил. Но до сих пор не понял как.

Старый 10.04.2006, 12:09
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 5  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
2AxelRB по умолчанию флеш оперирует со всем как со строками , по этому у тебя получалось он считал строка + число = NaN %(

Старый 10.04.2006, 12:12
AxelRB вне форума Посмотреть профиль Отправить личное сообщение для AxelRB Посетить домашнюю страницу AxelRB Найти все сообщения от AxelRB
  № 6  
Ответить с цитированием
AxelRB
[+3 23.02.07]
 
Аватар для AxelRB

Регистрация: Mar 2006
Сообщений: 104
Ну, так и сейчас в такой слечае строка+число, если он Stage.width как строку вопринимает. Но сейчас все работает...

Как-то все загадочно... Сделали б уж тогда эксплисит преобразования все. А то как-то...

Старый 10.04.2006, 12:40
Madasan вне форума Посмотреть профиль Отправить личное сообщение для Madasan Найти все сообщения от Madasan
  № 7  
Ответить с цитированием
Madasan
 
Аватар для Madasan

Регистрация: Jun 2005
Адрес: в Питере
Сообщений: 981
Цитата:
Сообщение от __i
а вставлять каждый раз num=Number(array[i])+Number(array[i]) не выход
Но вставлять то все равно придется, то есть от преобразования никуда не денешься. А куда это преобразование вставлять - это уже по ситуации...
__________________
Делай всё быстро, но не торопись!.._/*o|o*\_.

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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