Показать сообщение отдельно
Старый 13.01.2006, 09:41
breez38 вне форума Посмотреть профиль Отправить личное сообщение для breez38 Найти все сообщения от breez38
  № 1  
Ответить с цитированием
breez38
 
Аватар для breez38

Регистрация: Nov 2005
Адрес: Иркутск
Сообщений: 233
Отправить сообщение для breez38 с помощью ICQ
По умолчанию Глюк с типами данных в Flash 8

в общем вот код:
Код:
var mXML:XML = new XML();
var t:Number = 0;

mXML.parseXML("<item Value=\"20\"/>");

trace(typeof(t)); 	//number
t = mXML.firstChild.attributes.Value; 
trace(typeof(t));	//string
Поясню. Переменная t объявлена как тип Numeric, но после присвоения ей значения аттрибута XML она меняет свой тип на String. Это черевато тем, что если нужно посчитать скажим t+2, то получим не 22, а 202!! Поскольку Флеш просто объеденит строки.

Конечно это лечится простым приведением типа:
Код:
t = Number(mXML.firstChild.attributes.Value);
Но как-то странно, что тип меняется самостоятельно .
С такой проблем столкнулся во Flash 8, в других версиях не тестил(лень ставить).
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже!