Déterminer si une chaîne est valide valeur float

Est-il un moyen de vérifier simplement si une chaîne de valeur est valide valeur flottante. L'appel de to_f sur une chaîne de convertir 0.0 si elle n'est pas une valeur numérique. Et l'utilisation de Float() lève une exception quand il est passé à une défaillance de float string qui est plus proche de ce que je veux, mais je ne veux pas la poignée d'intercepter les exceptions. Ce que je veux vraiment, c'est une méthode comme le nan? qui n'existe pas dans la classe integer, mais ça n'aide pas parce qu'un non-chaîne numérique ne peut pas être converti en float, sans être modifiés à 0,0 (à l'aide de to_f).

"a".to_f => 0.0

"a".to_f.nan? => false

Float("a") => ArgumentError: invalid value for Float(): "a"

Est-il une solution simple pour cela ou dois-je besoin d'écrire du code pour vérifier si une chaîne est valide valeur float?

InformationsquelleAutor Ben5e | 2009-06-23