123456789101112131415161718 |
- /**
- * Solve the problem of js addition accuracy
- * e.g.
- * 0.1 + 0.2 => 0.30000000000000004
- * plus(0.1, 0.2) => 0.3
- * @param {Number} num1
- * @param {Number} num2
- */
- export function plus(num1: number, num2: number) {
- const num1Digits = (num1.toString().split('.')[1] || '').length;
- const num2Digits = (num2.toString().split('.')[1] || '').length;
- const baseNum = Math.pow(10, Math.max(num1Digits, num2Digits));
- return (num1 * baseNum + num2 * baseNum) / baseNum;
- }
- export function minus(num1: number, num2: number) {
- return plus(num1, -num2);
- }
|