bignumber.js快速上手

简介

用于任意精度小数和非小数运算的JavaScript库。

解决某些小数相加出现意外情况

console.log(0.1+0.2); // 0.30000000000000004

参考地址:https://www.npmjs.com/package/bignumber.js

安装和加载

npm install --save bignumber.js
const BigNumber = require('bignumber.js');

使用

x = new BigNumber(123.4567)
y = BigNumber('123456.7e-3')
z = new BigNumber(x)
x.isEqualTo(y) && y.isEqualTo(z) && x.isEqualTo(z) 

new BigNumber()参数接收Number,String或BigNumber类型,创建为十进制。可以通过如下设置其他基础进制。

x = new BigNumber(123,2);

数据操作

  • minus():减
  • plus():加
  • times():乘
  • dividedBy():除
  • squareRoot(): 平方根
  • exponentiatedBy():指数
  • 还有其他请参考官方文档
x.dividedBy(y).plus(z).times(9) // 等于((x/y)+z)*9

判断方法

  • isFinite():是否超出精度
  • isNaN():是否为NaN

取值方法

  • toNumber():获得 Number 类型的结果
  • toString([转换的进制]):获得 String 类型的结果
  • toFormat([保留的小数位数]):四舍五入保留指定位数小数,并且国际化输出带逗号// 1,234,567.83
  • toFixed([保留的小数位数]):返回 string 类型

配置

BigNumber.config({ DECIMAL_PLACES: 10, ROUNDING_MODE: 4 })

// 创建另一个BigNumber构造函数,可以选择传入一个配置对象
BN = BigNumber.clone({ DECIMAL_PLACES: 5 })
  • DECIMAL_PLACES:保留小数位数
  • ROUNDING_MODE:舍弃模式

 上一篇
EOS双花和分叉问题 EOS双花和分叉问题
参考文档:http://8btc.com/thread-158287-1-6.html 什么是双花和分叉一笔交易在广播时,被多个节点同时接收产生新的区块,此问题被称为分叉。 两笔相同的交易,同时向全网进行广播,造成重复话费的问题被称为双花。
2018-11-12
下一篇 
mocha快速上手 mocha快速上手
参考资料 mocha入门1 mocha入门2 Chai.js断言库API中文文档 简介Mocha(发音”摩卡”)诞生于2011年,是现在最流行的JavaScript测试框架之一,在浏览器和Node环境都可以使用。 验证代码的正确性 避
2018-10-21
  目录