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