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

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

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

Регистрация: Dec 2010
Сообщений: 177
По умолчанию Определение цифр в строке

Каким способом лучше определить, что в строке (String), находятся исключительно только цифры (могут быть со знаком минус). К примеру, среди вариантов: "reg123er", "-200", "name", "@name#" - нужно определить именно вариант "-200".

Старый 10.04.2012, 11:31
Sevak вне форума Посмотреть профиль Отправить личное сообщение для Sevak Найти все сообщения от Sevak
  № 2  
Ответить с цитированием
Sevak

Регистрация: Jun 2005
Сообщений: 29
Отправить сообщение для Sevak с помощью ICQ
Код AS3:
if (str == Number(str)) {
trace("Это число")
}


Последний раз редактировалось Sevak; 10.04.2012 в 11:49.
Старый 10.04.2012, 11:31
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 3  
Ответить с цитированием
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Код AS3:
str = "reg123er";
trace(isNaN(parseFloat(str))); // true
str = "-200";
trace(isNaN(parseFloat(str))); // false

Старый 10.04.2012, 11:57
anmelegov вне форума Посмотреть профиль Отправить личное сообщение для anmelegov Найти все сообщения от anmelegov
  № 4  
Ответить с цитированием
anmelegov
[+4 07.04.12]
[+1 20.01.12]

Регистрация: Nov 2009
Адрес: Украина, Славутич
Сообщений: 263
Код AS3:
if(Number(str)) trace("profit")

Старый 10.04.2012, 12:21
Alexmody вне форума Посмотреть профиль Отправить личное сообщение для Alexmody Найти все сообщения от Alexmody
  № 5  
Ответить с цитированием
Alexmody

Регистрация: Dec 2010
Сообщений: 177
Спасибо, интересные варианты.
anmelegov
Получается, что NaN воспринимается if, как лож, а любое число, даже отрицательное (кроме нуля) воспринимается if, как истина. Очень лаконично!

Старый 10.04.2012, 12:37
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 6  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Всякие Number(str) и parseFloat(str) страдают тем, что считают, что что-то типа "0garbage" - это нормальное число 0.
Регексп по идее лучше всего (мне лень смотреть как оно на флэш). Там надо ещё подумать, должно ли оно матчить что-то типа "-3.5e-6" (это валидное число).
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 10.04.2012, 12:46
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 7  
Ответить с цитированием
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Цитата:
Сообщение от anmelegov Посмотреть сообщение
Код AS3:
if(Number(str)) trace("profit")
А что если str="0"?

Старый 10.04.2012, 12:51
Alexmody вне форума Посмотреть профиль Отправить личное сообщение для Alexmody Найти все сообщения от Alexmody
  № 8  
Ответить с цитированием
Alexmody

Регистрация: Dec 2010
Сообщений: 177
-De-
>>что что-то типа "0garbage" - это нормальное число 0.
Код AS3:
var st:String = "0garbage";
trace( Number(st));//выдает NaN
elder_Nosferatu
Код AS3:
var st:String = "0";
trace( Number(st));//выдает число 0
Код AS3:
var st:String = "0";
if (Number(st)) {
   trace( "BOO");
}// сообщение не выводится, результат получается, что как бы это не число, это минус, 
//но в моем случае ноль не нужен. К слову, если 0.1, то сообщение выводится
Получается, что если нужен 0, то лучше использовать способы описанные в первых двух постах.


Последний раз редактировалось Alexmody; 10.04.2012 в 13:01.
Старый 10.04.2012, 13:10
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 9  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Значит наврал про Number, каюсь %)
У Sevak кстати вариант интересный (но оно ниасилит варианты типа "0.000000" и "1000000"/"1e7").
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 10.04.2012, 13:16
anmelegov вне форума Посмотреть профиль Отправить личное сообщение для anmelegov Найти все сообщения от anmelegov
  № 10  
Ответить с цитированием
anmelegov
[+4 07.04.12]
[+1 20.01.12]

Регистрация: Nov 2009
Адрес: Украина, Славутич
Сообщений: 263
Код AS3:
if(Number(str) || str='0') trace("profit")

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

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

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


 


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


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