ユーザー入力からの文字列を指定して、文字列が有効な int の場合は、Fixnum
またはに変換したいと思います。Integer
文字列が float の場合、int に変換したくありません。それが失敗した場合は、文字列をFloat
. 文字列がこれらのいずれでもない場合は、例外を発生させるつもりです。
あらゆる種類のエラーを提供するのではなく、値String#to_i
を切り捨てるだけのようです。Float
a が有効な int かどうかを判断するために正規表現を実行できることはわかっていますが、aに数字以外のものが含まれてString
いる場合に失敗する組み込みの変換が必要なようです。String
何か不足していますか?
例えば。戻る代わりに失敗するこのようなものが欲しい1
irb(main):092:0> "1.4".to_i
=> 1
irb(main):093:0> "1.4e5".to_i
=> 1