一、BigNumber.js 介绍
1、什么是 BigNumber.js?
BigNumber.js 是一个 JavaScript 库,用于处理高精度的数字运算。它解决了 JavaScript 原生 Number 类型在处理大数或高精度计算时的局限性。由于 JavaScript 的 Number 类型基于 IEEE 754 标准(双精度浮点数),其精度限制为 53 位有效数字,因此在处理大数或需要高精度的场景下容易出现精度丢失的问题。
BigNumber.js 专注于十进制精度运算,内部使用字符串进行十进制模拟,完全避免了 JS 的二进制浮点误差。默认不会丢失精度,也不会四舍五入除非你手动指定。在很多真实应用场景中(如金融、金额、电商)至关重要。
// 精度计算问题
console.log(0.1+0.2); // 0.30000000000000004
// 大数比较问题,超过 2^53 - 1 = 9007199254740991 的数字会丢失精度
console.log(15615616981519815 === 15615616981519816)
2、作用领域
BigNumber.js 的主要作用领域包括但不限于以下场景:
- **金融计算:**贷款利息计算、汇率转换、交易金额处理等。
- **科学计算:**天文学中的距离计算、化学中的分子量计算等。
- **区块链与加密货币:**比特币、以太坊等加密货币的交易金额等。
- **数据统计与分析:**统计报表、数据分析工具等。
- **其他高精度需求场景:**游戏开发中的经济系统(虚拟货币)、电子商务中的价格计算等。
3、核心特性
BigNumber.js 的核心特性使其成为处理高精度数字的理想选择:能支持任意精度;每次操作都会返回一个新的 BigNumber 对象,不修改原始对象;支持丰富的数学运算;支持多种格式化输出方式;配置灵活且跨平台兼容。
二、安装配置与基础用法
1、引入 BigNumber.js
通过 npm 安装:
npm install bignumber.js
然后在代码中引入:
const BigNumber = require('bignumber.js'); // 或者(ES6 模块语法) import BigNumber from 'bignumber.js';
如果不想使用 npm,可以直接通过 CDN 在 HTML 文件中引入:
<script src="https://cdn.jsdelivr.net/npm/bignumber.js/bignumber.min.js"></script>
<script>


