添加数字
以全精度添加浮点数。
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]
示例 · 源代码 · 返回给定 values 的全精度累积和,作为 Float64Array。虽然速度较慢,但当需要更高精度时,d3.fcumsum 可以替换 d3.cumsum。
js
d3.fcumsum(penguins, (d) => d.body_mass_g) // [3750, 7550, 10800, 10800, 14250, …]
如果指定了 accessor,则为输入 values 中的每个元素调用给定函数,并将元素 d
、索引 i
和数组 data
作为三个参数传递;然后将返回的值相加。