项目作者: StevenLikeWatermelon

项目描述 :
a npm packge of high-precision-four-fundamental-rules, which can make up for the defect of accuracy of native JS.(高精度的基本四则运算npm包,用来弥补原生JS计算精度缺失的缺陷)
高级语言: JavaScript
项目地址: git://github.com/StevenLikeWatermelon/high-precision-four-fundamental-rules.git


high-precision-four-fundamental-rules

Build Status Code Climate npm version Downloads

a npm packge of high-precision-four-fundamental-rules, which can make up for the defect of accuracy of native JS.
(高精度的基本四则运算npm包,用来弥补原生JS计算精度缺失的缺陷)

Install

$ npm install high-precision-four-fundamental-rules --save

Usage

  1. // type 1
  2. import precisionArithmetic from 'high-precision-four-fundamental-rules';
  3. precisionArithmetic.add(1, 2, 4); // '3.0000'
  4. precisionArithmetic.subtract(1, 2, 3); // '-1.000';
  5. precisionArithmetic.multiply(1, 2, 2); // '2.00';
  6. precisionArithmetic.divide(1, 3, 7); // '0.3333333';
  7. // type 2
  8. import {add, subtract, multiply, divide} from 'high-precision-four-fundamental-rules';
  9. add(1, 2, 4); // '3.0000'
  10. subtract(1, 2, 3); // '-1.000';
  11. multiply(1, 2, 2); // '2.00';
  12. divide(1, 3, 7); // '0.3333333';

API

add(加法)

  1. precisionArithmetic.add(num1, num2, fixedLength);
num, num2

Require: true
Type: number or string

fixedLength

Require: false
Type: number

subtract(减法)

  1. precisionArithmetic.subtract(num1, num2, fixedLength);
num, num2

Require: true
Type: number or string

fixedLength

Require: false
Type: number

multiply(乘法)

  1. precisionArithmetic.multiply(num1, num2, fixedLength);
num, num2

Require: true
Type: number or string

fixedLength

Require: false
Type: number

divide(除法)

  1. precisionArithmetic.divide(num1, num2, fixedLength);
num, num2

Require: true
Type: number or string

fixedLength

Require: false
Type: number

Warning

In consideration of toFixed function in JavaScript not applicable to most high precision scenes like invoice amount or banking business, I rewrite it by rounding way. You can see the source code in index.js.

(考虑到原生JS中toFixed方法并不适用于银行或发票业务等高精度场景,作者用四舍五入算法重写了改方法,你可以在index.js看到源码。