Skip to content

Commit 934842f

Browse files
committed
release 1.1.4
1 parent f247d5f commit 934842f

File tree

3 files changed

+13
-12
lines changed

3 files changed

+13
-12
lines changed

build/index.js

+11-11
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,22 @@ function digitLength(num) {
2929
return len > 0 ? len : 0;
3030
}
3131

32+
/**
33+
* 精确乘法
34+
*/
35+
function times(num1, num2) {
36+
var num1Changed = Number(num1.toString().replace('.', ''));
37+
var num2Changed = Number(num2.toString().replace('.', ''));
38+
var baseNum = digitLength(num1) + digitLength(num2);
39+
return num1Changed * num2Changed / Math.pow(10, baseNum);
40+
}
41+
3242
/**
3343
* 精确加法
3444
*/
3545
function plus(num1, num2) {
3646
var baseNum = Math.pow(10, Math.max(digitLength(num1), digitLength(num2)));
37-
return (num1 * baseNum + num2 * baseNum) / baseNum;
47+
return (times(num1, baseNum) + times(num2, baseNum)) / baseNum;
3848
}
3949

4050
/**
@@ -45,16 +55,6 @@ function minus(num1, num2) {
4555
return (num1 * baseNum - num2 * baseNum) / baseNum;
4656
}
4757

48-
/**
49-
* 精确乘法
50-
*/
51-
function times(num1, num2) {
52-
var num1Changed = Number(num1.toString().replace('.', ''));
53-
var num2Changed = Number(num2.toString().replace('.', ''));
54-
var baseNum = digitLength(num1) + digitLength(num2);
55-
return num1Changed * num2Changed / Math.pow(10, baseNum);
56-
}
57-
5858
/**
5959
* 精确除法
6060
*/

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "number-precision",
3-
"version": "1.1.3",
3+
"version": "1.1.4",
44
"description": "Perform addition, subtraction, multiplication and division operations precisely using javascript",
55
"main": "build/index.js",
66
"author": "cam song",

test/test.spec.js

+1
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ describe('NP.times', () => {
8181
check(3, 0.3, 0.9);
8282
check(0.362, 100, 36.2);
8383
check(1.1, 1.1, 1.21);
84+
check(2.018, 1000, 2018);
8485
check(5.2, -3.8461538461538462, -20);
8586
check(1.22, -1.639344262295082, -2);
8687
check(2.5, -0.92, -2.3);

0 commit comments

Comments
 (0)