加總數字
以完全精度加總浮點數。
new Adder()
js
const adder = new d3.Adder();
adder.add(number)
js
adder.add(42)
將指定的 number 加到加法器的目前值,並回傳加法器。
adder.valueOf()
js
adder.valueOf() // 42
回傳加法器目前值的 IEEE 754 雙精度表示法。最常使用簡寫符號 +adder
,或在強制轉型為 Number(adder)
時使用。
fsum(values, accessor)
js
d3.fsum([0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]) // 1
範例 · 原始碼 · 回傳給定 values 的完全精度總和。雖然較慢,但 d3.fsum 可以取代 d3.sum,在需要更高精度時使用。
js
d3.fsum(penguins, (d) => d.body_mass_g) // 1437000
如果指定了accessor,則會對輸入values 中的每個元素呼叫給定的函數,並將元素 d
、索引 i
和陣列 data
作為三個引數傳遞;然後會新增傳回的值。
fcumsum(values, accessor)
js
d3.fcumsum([1, 1e-14, -1]) // [1, 1.00000000000001, 1e-14]
範例 · 來源 · 以 Float64Array 傳回給定values 的全精度累計總和。儘管較慢,但當需要更高的精度時,d3.fcumsum 可以取代 d3.cumsum。
js
d3.fcumsum(penguins, (d) => d.body_mass_g) // [3750, 7550, 10800, 10800, 14250, …]
如果指定了accessor,則會對輸入values 中的每個元素呼叫給定的函數,並將元素 d
、索引 i
和陣列 data
作為三個引數傳遞;然後會新增傳回的值。