NodeJS 如何使用big.js?

9w11ddsr  于 2022-12-18  发布在  Node.js
关注(0)|答案(1)|浏览(160)

big.js的示例中,他们显示了以下示例

0.3 - 0.1                              // 0.19999999999999998
x = new Big(0.3)
x.minus(0.1)                           // "0.2"
x                                      // "0.3"

x.div(y).plus(z).times(9).minus('1.234567801234567e+8').plus(976.54321).div('2598.11772')

这是一个非常简单的例子。在我的情况下,我想计算

res = a + (b / c) + (d + 1) / (e * f * g);

我看不出不引入7个临时变量怎么能计算出来,这似乎是不正确的。

问题

有谁知道如何用big.js计算以上内容吗?

flseospp

flseospp1#

您可以“由内而外”地执行此操作,即首先转换内括号中的部分。
例如:

const temp1 = b.div(c),
      temp2 = d.plus(1),
      temp3 = e.times(f).times(g),
      temp4 = temp2.div(temp3),
      result = a.plus(temp1).plus(temp4);

但实际上并不需要这些临时变量,只需要取最后一个表达式并注入临时变量的定义,这样表达式就扩展为:

const res = a.plus(b.div(c)).plus(d.plus(1).div(e.times(f).times(g)));
//          a  +  (b  /  c )  +   (d  +  1)  / (e   *   f    *   g )

演示:
一个二个一个一个

相关问题