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

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

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

Регистрация: Aug 2009
Сообщений: 40
По умолчанию XML Не могу поделить число

Загружаю такой XML
Цитата:
<?xml version="1.0" encoding="utf-8"?>
<response>
<balance>100</balance>
</response>
Код AS1/AS2:
 
	inp.onData = function(data){
		var xml=new XML(data);	
		xml.ignoreWhite = true;
		xml.parseXML(xml);
 
		trace(data);
		xxml = xml.childNodes[0].childNodes[0];
		balance = xxml.childNodes[0];
		balanceINT=int(balance);
		_root.api.debug.text="-"+balance+"-"+balance/100+"-"+balanceINT+"-"+balanceINT/100;
		showVote(balance);	
	}

Результат
Цитата:
-100-NaN-0-0
Почему 100 не делится на 10? И как поделить


Последний раз редактировалось donphp; 18.09.2009 в 18:32.
Старый 18.09.2009, 18:33
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
У вас тип данных строчный.
Приведите тип данных к числовому с помощью Number() .


Последний раз редактировалось mooncar; 18.09.2009 в 18:36.
Старый 18.09.2009, 18:49
donphp вне форума Посмотреть профиль Отправить личное сообщение для donphp Найти все сообщения от donphp
  № 3  
Ответить с цитированием
donphp

Регистрация: Aug 2009
Сообщений: 40
Код AS1/AS2:
		var balance:Number = xxml.childNodes[0];
		var balanceNumber:Number=Number(balance);
		_root.api.debug.text="-"+balance+"-"+balance/100+"*"+balanceNumber+"*"+balanceNumber/100;
Теже яйца только в профиль
Цитата:
-100-NaN*NaN*NaN

Старый 18.09.2009, 18:58
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
nodeValue забыли.
Код AS1/AS2:
var balance:Number = xxml.childNodes[0].nodeValue;
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 18.09.2009, 19:03
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код AS1/AS2:
var xml:XML = new XML("<foo>100</foo>");
var foo:Number = Number(xml.firstChild.childNodes[0].nodeValue) / 4;
trace(["foo", foo]); //foo,25
__________________
Hell is the possibility of sanity

Старый 18.09.2009, 19:04
donphp вне форума Посмотреть профиль Отправить личное сообщение для donphp Найти все сообщения от donphp
  № 6  
Ответить с цитированием
donphp

Регистрация: Aug 2009
Сообщений: 40
Аааа спасибо огромное.
Код AS1/AS2:
		var xml=new XML(data);	
		xml.ignoreWhite = true;
		xml.parseXML(xml);
		balanceNumber=xml.childNodes[0].childNodes[0].childNodes[0].nodeValue;
		showVote(balanceNumber);
Отлично работает без всяких Number и Int

Старый 18.09.2009, 19:12
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Отлично работает без всяких Number и Int
Это пока вы складывать не начали. А начнете, опять на те же грабли наступите, поэтому завидите себе правило приводить числа из xml, а не надеяться на автоопределение типа.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 18.09.2009, 19:59
donphp вне форума Посмотреть профиль Отправить личное сообщение для donphp Найти все сообщения от donphp
  № 8  
Ответить с цитированием
donphp

Регистрация: Aug 2009
Сообщений: 40
Я понял. Потому сразу и поставил int() на всякий случай.
А чем отличается int() от number()

Я заметил что int() преобразовывает не числовую строку в 0
а number() в NaN

Есть еще какие небудь отличия. А то в англ доке не сильно отдупляюсь

Старый 18.09.2009, 21:12
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Аха, int() - это AS1, в AS2 его не существует. Зато он существует в AS3. number() - это очень древний вариант AS1 из эпохи когда он был не чувствителен к регистру.
__________________
Hell is the possibility of sanity

Старый 18.09.2009, 21:43
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 10  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
int() вроде еще поддерживается в AS2 ?

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

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

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


 


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


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