Это может показаться чрезмерно критичным, но исходя из вашего описания, вы почти наверняка делаете что-то «не так» ... Зачем вам нужно проверять, является ли String действительным представлением Float
, но на самом деле не конвертировать Строка?
Это всего лишь догадка, но может быть полезно описать, чего вы пытаетесь достичь. Вероятно, есть "лучший" способ.
Например, вы можете вставить String в базу данных и собрать SQL-оператор, используя конкатенацию строк. Было бы предпочтительнее конвертировать в Float и использовать подготовленные операторы.
Если вам просто нужно проверить «форму» строки, было бы предпочтительнее использовать регулярное выражение, потому что, как указал Дилан, Float может быть представлен любым количеством способов, которые могут или не могут быть необходимо.
Возможно, вам также придется иметь дело с международным вводом, в Европе в качестве десятичного разделителя вместо запятой используется запятая, а в Ruby Floats нужно использовать (.).