Есть ли способ просто проверить, является ли строковое значение допустимым значением float. Вызов to_f в строке преобразует его в 0.0, если это не числовое значение. И использование Float() вызывает исключение, когда ему передается некорректная строка с плавающей точкой, которая ближе к тому, что я хочу, но я не хочу обрабатывать исключения catching. Я действительно хочу, например, такой метод, как nan? который существует в классе Float, но это не помогает, потому что нечисловая строка не может быть преобразована в float без изменения на 0.0 (используя to_f).
"a".to_f => 0.0
"a".to_f.nan? => false
Float("a") => ArgumentError: invalid value for Float(): "a"
Есть ли простое решение для этого или мне нужно написать код, чтобы проверить, является ли строка допустимым значением float?