Conectar-se
Quem está conectado
11 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 11 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota D
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Número de Mensagens : 712
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuário

Checar se a apenas números na string

em Sab 13 Abr 2013, 17:33
A questão é simples porém está me dando uma enorme dor de cabeça.
Eu tenho X string escrita pelo usuário, o que eu preciso, é saber se está contém apenas números, letras ou uma mistura, os três casos serão tratados de maneira diferente.
Por exemplo:
Eu tenho uma caixa de dialogo que diz: "Digite a posição absoluta: ", no caso, se ele digitar apenas números, será acionada a função real(). Se não, acontecerá outras ações.

Obrigado desde já!
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1598
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 147

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Checar se a apenas números na string

em Sab 13 Abr 2013, 17:44
Código:
is_real(x)
Retorna 1(true) se o valor de (x) for real
Código:
is_string(x)
Retorna 1(true) se o valor de (x) for string
[edit]
exemplo ( STEP )
Código:
if(keyboard_check(vk_space)){
Test=choose('teste',100)
if(is_real(Test)){show_message(string(Test)+' é real')}
else
{show_message(string(Test)+' é string')}
}
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Checar se a apenas números na string

em Sab 13 Abr 2013, 18:22
Código:
str='abcde12345';
n=string_digits(str); // '12345'
s=string_letters(str); // 'abcde'

if (s!='')
{
if (n!='')
{
//letras e números
}
else
{
//letras
}
}
else
{
if (n!='')
//numeros
}

Acho que dá pra otimizar um pouco:

Código:
str='abcde12345';
n=string_digits(str); // '12345'
s=string_letters(str); // 'abcde'

a = (n!='')*1 + (s!='')*2;

switch(a)
{
case 0: //nem letras nem numeros
break;

case 1: //so numeros
break;

case 2: //so letras
break;

case 3: //ambos
break;
}
avatar
Ranking : Nota D
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Número de Mensagens : 712
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuário

Re: Checar se a apenas números na string

em Dom 14 Abr 2013, 13:19
Valeu PedroX, com o teu código (o primeiro) foi só colocar um variable_local_get() que deu certo nos dois primeiros casas e quanto aos números foi apenas real();

Obrigado também Isaque!
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Checar se a apenas números na string

em Dom 14 Abr 2013, 16:58
Na verdade os dois fazem a mesma coisa, mas o segundo é mais limpo e rápido. Recomendo usar o segundo, você pode até remover os cases que não quiser.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum