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

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

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

Регистрация: Jun 2010
Сообщений: 65
По умолчанию Вопрос с приведением типов или "что я делаю не так?"

Добрый день коллеги!
Вот снова наткнулся на камень преткновения.
Простой пример кода:
Код AS1/AS2:
var dataValuesArray:Array = new Array();
 
function mainFunction(){
	var xml_obj: XML = new XML();
	xml_obj.ignoreWhite = true;
	xml_obj.load("file.xml");
	xml_obj.onLoad = function(success:Boolean){
		if(success){
			var k:Number = 0;
			do{
				var val:Number = xml_obj.firstChild.childNodes[0].childNodes                          [k].attributes.dataValue;
				if((val==undefined))
					break;
				startIDsArray[k] = val;
				k++;
			}while(true)
			//Данный фрагмент кода показывает, что из строки была выделена подстрока
			//методом split и был выбран числовой элемент массива
			var arr:Array = new Array();
			arr[0] = "5";
			//
			var numVale:Number = arr[0];//передаем ссылку(или пытаемся привести тип к Number)
			mainMC["imgNumber"] = numValue;//добавляем динамическую переменную в MC
		}
	}
}
 
mainMC.onPress = function(){
	var n:Number = mainMC.imgNumber;//снова передаем ссылку или пытаемся привести к типу Number
		if((n >= dataValuesArray[0])&&(n < dataValuesArray[1])){
			trace("1st condition activated");
		}		
		if((n >= dataValuesArray[1])&&(n < dataValuesArray[2])){
			trace("2nd condition activated");
		}
		if((n >= dataValuesArray[2])&&(n < dataValuesArray[3])){
			trace("3d condition activated");
		}
		if((n >= dataValuesArray[3])&&(n <= dataValuesArray[4])){
			trace("4th condition activated");
		}
		if(n >= dataValuesArray[4]){
			trace("5th condition activated");
		}
}
 
mainFunction();
А вот xml файл:
Код:
<settings>

<mno cont="23">
<txt1 dataValue="1">каталог компании Antepro</txt1>
<txt2 dataValue="6">каталог компании Атомэнергопром</txt2>
<txt3 dataValue="12">каталог компании Мосстройресурс</txt3>
<txt4 dataValue="16">каталог компании Rider</txt4>
<txt5 dataValue="21">каталог компании Rusal</txt5>
</mno>

</settings>
В результате в консоле должно отобразиться одно из условий. Но выводится следующее:

4th condition activated
5th condition activated

Тут проблема с приведением типа String к типу Number.
Что можно сделать в этом случае?

Спасибо!

Старый 04.03.2011, 15:49
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
parseInt поможет.
__________________
hauts.ru

Старый 04.03.2011, 16:01
Prometei1599 вне форума Посмотреть профиль Отправить личное сообщение для Prometei1599 Найти все сообщения от Prometei1599
  № 3  
Ответить с цитированием
Prometei1599

Регистрация: Jun 2010
Сообщений: 65
Сработало! Спасибо! Забыл про него совсем!)

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

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

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


 


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


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