![]() IE / Edge |
![]() Firefox |
![]() Chrome |
![]() Safari |
![]() iOS Safari |
![]() Opera |
---|---|---|---|---|---|
IE8+ Edge+ | last 10 versions | last 10 versions | last 2 versions | last 2 versions | last 2 versions |
npm i accurate -S
or
yarn add accurate
Supports numbers, decimals, strings, arrays and multidimensional array.
Contains arithmetic expression parser.
Runs on any JavaScript engine.
Is easily extensible.
Open source.
支持数字、小数、字符串、数组和多维数组。
包含算术表达式解析器。
运行在任何 JavaScript 引擎。
易于扩展。
开源的。
import accurate, {
add, addition, subtract, subtraction, multiply, mul, multiplication, division, divide, modulo, modulus, expr
} from 'accurate'
or
const accurate, {
add, addition, subtract, subtraction, multiply, mul, multiplication, division, divide, modulo, modulus, expr
} = require('accurate')
. add(加法)
>
1.1 + 0.3 + 0.1
accurate.add(1.1, 0.3, 0.1)
addition(1.1, 0.3, 0.1)
<-
1.5000000000000002
1.5
1.5
. subtract(减法)
>
1.1 - 0.2 - 0.1
accurate.subtract([1.1, 0.2, 0.1])
subtraction([1.1, 0.2, 0.1])
<-
0.8000000000000002
0.8
0.8
. multiply(乘法)
>
1.1 * 0.1 * 0.2
accurate.multiply([1.1, [0.1, 0.2]])
accurate.mul([1.1, [0.1, 0.2]])
multiplication([1.1, [0.1, 0.2]])
<-
0.022000000000000006
0.022
0.022
0.022
. division(除法)
>
1.1 / 10 / 2
accurate.division([1.1, 10], 2)
accurate.divide([1.1, 10], 2)
<-
0.05500000000000001
0.055
0.055
. modulo(取模)
>
1.1 % 1
accurate.modulo(1.1, 1)
accurate.modulus(1.1, 1)
<-
0.10000000000000009
0.1
0.1
. expr(表达式)
const a = 0.3
const b = 0.1
>
0.3 - 0.1
accurate.expr(`${a}-${b}`)
<-
0.19999999999999998
0.2
>
((1.1+0.3)*4+2*3)/(1.1%0.3-1*0.1)-1*5
accurate.expr('((1.1+0.3)*4+2*3)/(1.1%0.3-1*0.1)-1*5')
accurate.expr('((1.1 + 0.3) * 4 + 2 * 3) / (1.1 % 0.3 - 1 * 0.1) - 1 * 5')
<-
110.99999999999987
111
111