如何在 Ruby 中使用 BigDecimal?
使用BigDecimal,你可以執行任意精度的浮點數十進位制運算。讓我們用一個示例來理解BigDecimal 的用例。我們將舉兩個示例,第一個示例將不使用BigDecimal,第二個示例中,我們將會使用BigDecimal。
考慮下面顯示的程式碼,我們在其中不使用BigDecimal,並多次向一個數字中新增一些十進位制值。
示例 1
# without using bigInteger def calculateSum() sumOfNumbers = 0 10_000.times do sumOfNumbers = sumOfNumbers + 0.0001 end return sumOfNumbers end puts calculateSum()
輸出
0.9999999999999062
現在,讓我們對上面顯示的示例使用BigDecimal,看看它會產生什麼差異。
考慮下面顯示的程式碼,其中使用了BigDecimal。
示例 2
require 'bigdecimal'
# with using bigInteger
def calculateSum()
sumOfNumbers = BigDecimal("0")
10_000.times do
sumOfNumbers = sumOfNumbers + BigDecimal("0.0001")
end
return sumOfNumbers
end
puts calculateSum()輸出
0.1e1
示例 3
BigDecimal 有時在除零時需返回無窮大。考慮下面顯示的程式碼。
require 'bigdecimal'
puts BigDecimal("2.0") / BigDecimal("0.0")
puts BigDecimal("-2.0") / BigDecimal("0.0")輸出
Infinity -Infinity
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP