原文: http://zetcode.com/javascript/bigjs/

Big.js 教程展示了如何使用 Big.js 模块在 JavaScript 中使用任意精度的大十进制算术运算。

Big.js

Big.js 是一个小型,快速的 JavaScript 库,用于任意精度的十进制算术。

在本教程中,我们在 Node 应用中使用 Big.js。

安装 Big.js

首先,我们安装 Big.js。

  1. $ nodejs -v
  2. v9.11.2

我们使用 Node 版本 9.11.2。

  1. $ npm init

我们启动一个新的 Node 应用。

  1. $ npm i big.js

我们使用npm i big.js命令安装 Big.js。

JavaScript 数字精度错误

在第一个示例中,我们显示 JavaScript 数字对于执行任意精度算术不是精确的。

count_currency.js

  1. var sum = 0;
  2. // two euros fifty-five cents
  3. var amount = 2.55;
  4. for (let i = 0; i < 100000; i++) {
  5. sum += amount;
  6. }
  7. console.log(sum);

在此示例中,我们将两欧元五十五美分十万倍。

  1. $ nodejs numbers.js
  2. 254999.9999995398

我们的计算有误。

Big.js 示例

在下一个示例中,我们使用 Big.js 更正错误。

big_decimal.js

  1. const Big = require('big.js');
  2. var val = new Big(0.0);
  3. var amount = new Big(2.55);
  4. var sum = val.plus(amount).times(100000);
  5. console.log(sum.toFixed(2));

使用 Big.js 库,计算非常精确。

  1. const Big = require('big.js');

我们加载big.js模块。

  1. var val = new Big(0.0);
  2. var amount = new Big(2.55);

我们创建两个大十进制值。

  1. var sum = val.plus(amount).times(100000);

我们将值相加 100000 次。 请注意,大十进制值是不可变的,因此我们生成一个新变量。

  1. $ nodejs big_decimal.js
  2. 255000.00

这是输出。

在本教程中,我们使用Big.js库对任意精度算法进行了处理。

您可能也对以下相关教程感兴趣: Moment.js 教程从 JavaScript 中的 URL 读取 JSONJavaScript 贪食蛇教程JQuery 教程Node Sass 教程Lodash 教程