前提・実現したいこと
引数にint値文字列とfloat値文字列どちらも受け付けて、
int値文字列は、int値に変換して、float値文字列はfloatに変換するにはどのようにすればよいのでしょうか?
やりたいこととしては、
"1000" → 1,000 "1000.1" → 1,000.1
と変換するようなメソッドを作成したいです。
試したこと
Rails
1puts "1000".to_i #1000 2puts "1000".to_f #1000.0 3puts "1000.0".to_f #1000.0 4puts "1000.0".to_i #1000 5 6 7def numFormat(num) 8 # num.to_i.to_s(:delimited) 9end
int値をto_fしてしまうと、余計な「.0」が付与されてしまい、
逆にfloat値をto_iしてしまうと、小数が消えてしまうので、
引数の数値文字列が、int値かfloat値を判定して、
int値ならば、to_iして、float値ならば、to_fするという分岐をすれば、
目的のメソッドが作成できそうな気がするのですが、
どのようなコードを書けばよいでしょうか?
さらにもっと細かなことを考えれば、
引数に
int値 int値文字列 float値 float値文字列
の4種類を受け付けて、3桁区切りの文字列に整形したいと考えています。
ご教示お願いします。
補足情報(FW/ツールのバージョンなど)
Rails 5.2.3
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/09 01:52