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

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

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

Регистрация: Sep 2007
Сообщений: 16
По умолчанию Text Input в Числовое значение

Всем привет!
Я начинающий в Action Script, поэтому вопрос банальный, ответ на который к сожалению найти не смог.
И так, есть два текстовых поля типа Input в сцене. В каждое из них нужно ввести цифру, после нажатия кнопки получить результат сложения этих двух чисел.
Как оказалось введенные цифры являются стрингом а не цифрой, а значит для начала нужно перевести стринг в цифру, а уж затем полученный результат складывать.
Как перевести текст из Text Input в число?
Попытки использовать Number () или FloatInt() ни к чему не привели
Помогите, пожалуйста.

Старый 07.01.2014, 18:42
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 2  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
любое из приведенных ниже
Код AS3:
int(textfield.text);
Number(textfield.text);
uint(textfield.text);

Старый 07.01.2014, 19:07
arhitec вне форума Посмотреть профиль Отправить личное сообщение для arhitec Найти все сообщения от arhitec
  № 3  
Ответить с цитированием
arhitec
[+4 03.12.07]

Регистрация: Sep 2007
Сообщений: 16
Верно ли я понимаю, что textfield - это и есть переменная, значение которой нужно конвертировать?
Наверное правильнее было изложить свое виденье в коде:
Первое поле Input имеет имя: number1;
Первое поле Input имеет имя: number2;
Код AS3:
n1 = Number (number1.text); // Присваиваю переменной n1 полученное значение после конвертации из текста в число переменной number1
n2 = Number (number2.text); // Присваиваю переменной n2 полученное значение после конвертации из текста в число переменной number2
summa = n1 + n2;
trace (summa);
Увы, этот код не работает, а значит я не верно понимаю предложенный вариант...
Поиск пока ни к чему не приводит


Последний раз редактировалось arhitec; 07.01.2014 в 19:25.
Старый 07.01.2014, 19:19
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Нет, не верно. Конвертируется то, что содержится у объекта TextField в свойстве text
Можно еще так перевести в целочисленное значение
Код AS3:
var sum:int = parseInt(inputText1.text) + parseInt(inputText2.text);
и в число с плавающей точкой
Код AS3:
var sum:Number = parseFloat(inputText1.text) + parseFloat(inputText2.text);

Старый 07.01.2014, 19:44
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 5  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
выложите код, тогда скаже что не так.

что выдает если добавить такие строки??
Код AS3:
trace(number1);
trace(number1.text);

Старый 07.01.2014, 19:55
arhitec вне форума Посмотреть профиль Отправить личное сообщение для arhitec Найти все сообщения от arhitec
  № 6  
Ответить с цитированием
arhitec
[+4 03.12.07]

Регистрация: Sep 2007
Сообщений: 16
Что-то не работает Видимо косячный у меня мозг

Код AS3:
trace(number1);
выдает: [object TextField]

Я выкладываю исходный файл. Навертел конечно, но что поделаешь - учусь
Ссылка на яндекс-диске, сюда не смог залить файл.
http://********/d/pz1mru2OFbSBH

Старый 07.01.2014, 20:16
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 7  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
выдает: [object TextField]
Это значит что экземпляр класса TextField доступен по ссылке number1. Единственное но может быть в том, что trace(number1); нужно писать там, где происходит конвертация типов, то есть там, где вы хотите из текста сделать цифры. если оно там доступно, то проверьте свойство text
Код AS3:
trace(number1.text);
Если покажет текст, то проблем не должно быть, а если нет, то Вы просто не задали значение.

Старый 07.01.2014, 20:18
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 8  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
залейте сюда, для этого - расширенный режим -> управление вложениями

Старый 07.01.2014, 20:23
arhitec вне форума Посмотреть профиль Отправить личное сообщение для arhitec Найти все сообщения от arhitec
  № 9  
Ответить с цитированием
arhitec
[+4 03.12.07]

Регистрация: Sep 2007
Сообщений: 16
Удалось залить в архиве, FLA-файл не заливается
У меня файл разбит на два кадра. Я предполагаю, что из-за этого и проблемы.
My_work_01.rar

Старый 07.01.2014, 20:33
TWETTI вне форума Посмотреть профиль Отправить личное сообщение для TWETTI Найти все сообщения от TWETTI
  № 10  
Ответить с цитированием
TWETTI
 
Аватар для TWETTI

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
Уберите первые две строки:
Код AS3:
var number1: String = "1";
var number2: String = "2";
number1 и number2 это имена текстовых полей.
В функции replay можете получить сумму:
Код AS3:
var sum:int = parseInt(number1.text) + parseInt(number2.text);
trace(sum);

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

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

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


 


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


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