Определите, является ли строка допустимым значением с плавающей точкой

Есть ли способ просто проверить, является ли строковое значение допустимым значением с плавающей запятой. Вызов 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>

Есть ли простое решение для этого или мне нужно написать код, чтобы проверить, является ли строка допустимым значением с плавающей запятой?

Ответы на вопрос(8)

Ваш ответ на вопрос