Rubyで消費税を計算しようとすると、計算結果が整数で表示されません。そこでどのように解決をすれば良いのかをまとめました。また、小数点以下切り捨て、切り上げ、四捨五入の方法についてもまとめています。
##消費税の計算
下記の計算式で消費税を計算
puts 1700 * 1.08 #1836.0000000000002
結果が「1836.0000000000002」となってしまいます。
理想の結果「1836」と表示させるにはどうすればいいのでしょう。
###■切り捨て
小数点以下を切り捨てる場合、floorメソッドを使用します。
tax = 1700 * 1.08
puts tax.floor
# 1836
「1836」と表示させることができました。
他の例で見てみると、
puts 32.154729.floor # 32
puts puts 2567.87.floor # 2567
小数点を切り捨てる位置を指定する場合、引数に桁数を指定することができる。
puts 32.154729.floor(2) # 32.15
puts puts 2567.87.floor(1) # 2567.8
###■切り上げ
小数点以下を切り上げたい場合、ceil メソッドを使います。
tax = 1700 * 1.08
puts tax.ceil
# 1837
結果は1837になりました。
###■四捨五入
四捨五入をしたい場合は、round メソッドを使います。
puts 563.568.round # 564
puts 3.44.round #4
四捨五入する桁数を指定すると、
puts 563.568.round(2) #563.57
puts 3.44.round(1) #3.4