我是Ruby的新手,所以我會先爲我的無知道歉:)我在找到一個客戶帳戶時遇到的問題。其中一些金額爲小數點後爲負數,這會破壞總數。下面是一些簡單的示例代碼...紅寶石 - 增加負浮動值
testnum = 0.00
puts "###Debug### testnum = #{testnum} (after 0.00)"
testnum += 5.00
puts "###Debug### testnum = #{testnum} (after 5.00)"
testnum += 3.33
puts "###Debug### testnum = #{testnum} (after 3.33)"
testnum += -1.00
puts "###Debug### testnum = #{testnum} (after -1.00)"
testnum += -2.22
puts "###Debug### testnum = #{testnum} (after -2.22)"
的結果吧...
###Debug### testnum = 0.0 (after 0.00)
###Debug### testnum = 5.0 (after 5.00)
###Debug### testnum = 8.33 (after 3.33)
###Debug### testnum = 7.33 (after -1.00)
###Debug### testnum = 5.109999999999999 (after -2.22)
所以testnum是增加-2.22,但加入-1.00被罰款後損壞。不知道我做錯了什麼。
感謝有用的非常多。在添加它們之前,我使用.to_d將金額轉換爲BigDecimal,並且工作正常。 – user1808965