Добрый день коллеги!
Вот снова наткнулся на камень преткновения.
Простой пример кода:

Код 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.
Что можно сделать в этом случае?
Спасибо!