• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

rickfelix

Verificar se valores de string são números.

9 mensagens neste tópico

Boas,

Estou aqui com uma duvida, alguém me consegue ajudar a arranjar uma função que verifique se uma posição de uma string x é ou não um número?  :wallbash:

Não há nenhuma função no string.h

Obrigado! :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não há mais nenhuma forma sem ser essa?

Obrigado nata79

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A função não é a isalnum, mas sim a isdigit. Podes tentar fazer manualmente. Tens de subtrair o caracter '0' ao valor que está na posição da string (consulta a tabela ASCII para perceberes). Se o resultado estiver entre 0 e 9 então é número, caso contrário não é.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pela ajuda Baderous,

Mas eu não quero tentar subtrair valor á string, eu quero apenas verificar que cada um dos caracteres em cada uma das posições é um número. Podes dar-me um exemplo simples?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pela ajuda Baderous,

Mas eu não quero tentar subtrair valor á string, eu quero apenas verificar que cada um dos caracteres em cada uma das posições é um número. Podes dar-me um exemplo simples?

a função isdigit (não a isalnum como tinha dito) recebe um caracter (elemento da string) e retorna 0 caso não seja um numero e diferente de 0 caso seja.

exemplo:

if(isdigit(s[i]) != 0) printf("%c é um numero", s[i]);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado nata, já consegui por a funcionar com o resultado que queria!

Obrigado! :-)  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem eu até estou a usar

if(isdigit(s[i]))
*resto_do_código*

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora