私は通貨を扱っており、数値を小数点以下 2 桁に切り捨てたいと考えています。数値が 500.0 であっても、一貫性を保つために 500.00 にしたいと考えています。"500.00".to_d を実行すると、500.0 に変換されます。
この動作を変更する良い方法は何ですか? また、この方法を使用して 2 桁に切り捨て、常に小数点以下 2 桁になるようにします。
def self.round_down(x, n=2)
s = x.to_s
l = s.index('.') ? s.index('.') + 1 + n : s.length
s = s[0, l]
s = s.index('.') ? s.length - (s.index('.') + 1) == 1 ? s << '0' : s : s << '.00'
s.to_f
end