実現したいこと
Rubyで、小数点のある数値の基数変換が可能なメソッドなどはありますか?
【2進数】1101.011 => 【10進数】13.375
【10進数】13.375 => 【2進数】1101.011
【2進数】1101.01 => 【8進数】15.2
試したこと
整数であれば、to_s
やto_i
を使用して基数変換ができたのですが、
ruby
1# 2進数 => 10進数 2'1101'.to_i(2) # => 13 3 4# 10進数 => 2進数 513.to_s(2) # => "1101" 6 7# 2進数 => 8進数 8'1101'.to_i(2).to_s(8) # => "15"
to_i
は小数点以下を切り捨ててしまうため上手くいかず、
ruby
1# 2進数 => 10進数 2'1101.011'.to_i(2) # => 13
to_s
ではエラーになってしまいます。
ruby
113.375.to_s(2) # => ArgumentError (wrong number of arguments (given 1, expected 0))
Float
やBigDecimal
にあるかと考え、調べてみたのですが、それらしいものを見つけることができませんでした。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/13 13:00