Seu desafio é determinar se a entrada fornecida é um número inteiro, uma sequência de caracteres ou um decimal.
Regras
- Uma string é qualquer entrada que não seja um número inteiro ou flutuante
- Um número inteiro deve conter apenas caracteres numéricos e não deve começar com um zero
- Um decimal é qualquer entrada que contenha o ponto (
.
) e o ponto é cercado por caracteres numéricos.
Nota: .01 não é considerado um decimal válido.
- O programa deve gerar uma string não processada "string", "integer" ou "decimal".
- Você pode assumir que apenas caracteres ASCII imprimíveis são usados
Casos:
asdf -> string
asdf3.4 -> string
2 -> integer
2.0 -> decimal
02 -> string
40. -> string
. -> string
.01 -> string
0.0 -> decimal
.9.9.9 -> string
[empty space] -> string
EDIT: Corrigido o erro de digitação. Eu quis dizer .01 sem o zero inicial, não com. Se isso deixou claro, está consertado agora!
Este é o código-golfe , por isso a resposta mais curta vence.
02
não é considerado um número inteiro porque a maioria dos idiomas apara os zeros à esquerda quando o tipo é um, integer
mas mantém os zeros à esquerda quando é armazenada como a string
. Embora, eu estou com @isaacg que, se 0.0
for considerado um decimal, também 0.01
deve ser. .01
sem contar faz sentido, eu acho ...