Rails 3 ou Ruby ont-ils une méthode intégrée pour renvoyer true ou false si un var est un entier?
Exemple
1 returns true
dadadad@asdasd.net returns false?
Merci
Rails 3 ou Ruby ont-ils une méthode intégrée pour renvoyer true ou false si un var est un entier?
Exemple
1 returns true
dadadad@asdasd.net returns false?
Merci
Utilisez une expression régulière sur une chaîne:
def is_numeric?(obj)
obj.to_s.match(/\A[+-]?\d+?(\.\d+)?\Z/) == nil ? false : true
end
Si vous voulez vérifier si une variable est d'un certain type, vous pouvez simplement utiliser kind_of?
:
1.kind_of? Integer #true
(1.5).kind_of? Float #true
is_numeric? "545" #true
is_numeric? "2aa" #false
Si vous ne connaissez pas le type de la variable (il peut s'agir d'une chaîne de caractères numériques), supposons qu'il s'agisse d'un numéro de carte de crédit transmis aux paramètres. Il s'agirait donc à l'origine d'une chaîne de caractères, mais vous voulez vous assurer qu'elle ne l'est pas. n’ayant aucune lettre, j’utiliserais cette méthode:
def is_number?(obj)
obj.to_s == obj.to_i.to_s
end
is_number? "123fh" # false
is_number? "12345" # true
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.