Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including high-precision-four-fundamental-rules with all npm packages installed. Try it out:

var highPrecisionFourFundamentalRules = require("high-precision-four-fundamental-rules")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

high-precision-four-fundamental-rules v1.2.3

a npm packge of high-precision-four-fundamental-rules, which can make up for the defect of accuracy of native JS.

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

// type 1
import precisionArithmetic from 'high-precision-four-fundamental-rules';
precisionArithmetic.add(1, 2, 4); // '3.0000'
precisionArithmetic.subtract(1, 2, 3); // '-1.000';
precisionArithmetic.multiply(1, 2, 2); // '2.00';
precisionArithmetic.divide(1, 3, 7); // '0.3333333';

// type 2
import {add, subtract, multiply, divide} from 'high-precision-four-fundamental-rules';
add(1, 2, 4); // '3.0000'
subtract(1, 2, 3); // '-1.000';
multiply(1, 2, 2); // '2.00';
divide(1, 3, 7); // '0.3333333';

API

add(加法)

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

Require: true Type: number or string

fixedLength

Require: false Type: number

subtract(减法)

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

Require: true Type: number or string

fixedLength

Require: false Type: number

multiply(乘法)

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

Require: true Type: number or string

fixedLength

Require: false Type: number

divide(除法)

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看到源码。

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free