require 'bigdecimal'
class Float
[:+, :-, :/, :*].each do |op|
define_method(op) do |other|
BigDecimal.new(self.to_s).
send(op, BigDecimal.new(other.to_s))
end
end
end
a = 1.2
b = 1.0
c = 0.2
puts a - b == c
puts a * 10 - b * 10 == c * 10
b = BigDecimal.new("1.0")
puts a - b == c
puts a * 10 - b * 10 == c * 10
cmVxdWlyZSAnYmlnZGVjaW1hbCcKIApjbGFzcyBGbG9hdAogIFs6KywgOi0sIDovLCA6Kl0uZWFjaCBkbyB8b3B8CiAgICBkZWZpbmVfbWV0aG9kKG9wKSBkbyB8b3RoZXJ8CiAgICAgIEJpZ0RlY2ltYWwubmV3KHNlbGYudG9fcykuCiAgICAgICAgc2VuZChvcCwgQmlnRGVjaW1hbC5uZXcob3RoZXIudG9fcykpCiAgICBlbmQKICBlbmQKZW5kCiAKYSA9IDEuMgpiID0gMS4wCmMgPSAwLjIKIApwdXRzIGEgLSBiID09IGMKcHV0cyBhICogMTAgLSBiICogMTAgPT0gYyAqIDEwCiAKYiA9IEJpZ0RlY2ltYWwubmV3KCIxLjAiKQpwdXRzIGEgLSBiID09IGMKcHV0cyBhICogMTAgLSBiICogMTAgPT0gYyAqIDEw