LoginSignup
5
3

More than 5 years have passed since last update.

[Ruby]消費税の計算結果「1836.0000000000002」を整数で表示させる方法

Posted at

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
5
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3