JavaScript에서는 소수점을 사용하여 첨가, 뺄셈, 곱셈 및 분할 작업을 수행 할 때, 획득 된 결과가 때때로 소수점이 뒤 따르는 것으로 나타 났으며, 이는 작업이 복잡해지고 계산 결과에 영향을 미칩니다. JavaScript에서는 Decimals로 데이터가 작동 할 때 항상 소수점 이외의 장소가 항상 나타납니다. JavaScript에서 부동 소수점 번호는 2 자리로 계산되기 때문입니다.
코드 사본은 다음과 같습니다.
/**
* 데이터에 소수점을 추가 한 후 여러 자리 수의 수와 계산 정확도 손실을 피하기위한 추가 작업.
*
* @param num1 추가 번호 1 | Num2 숫자 2를 추가하십시오
*/
함수 numadd (num1, num2) {
var basenum, basenum1, basenum2;
노력하다 {
Basenum1 = num1.tostring (). split ( ".") [1] .length;
} catch (e) {
Basenum1 = 0;
}
노력하다 {
Basenum2 = num2.tostring (). split ( ".") [1] .length;
} catch (e) {
Basenum2 = 0;
}
Basenum = math.pow (10, math.max (basenum1, basenum2));
return (num1 * basenum + num2 * basenum) / basenum;
};
/**
* 데이터 단계 감소 후 여러 자리 수와 계산 정확도 손실을 피하기위한 추가 작업.
*
* @param num1은 빼기 | NUM2가 빼냅니다
*/
함수 numsub (num1, num2) {
var basenum, basenum1, basenum2;
var 정밀도; // 정확도
노력하다 {
Basenum1 = num1.tostring (). split ( ".") [1] .length;
} catch (e) {
Basenum1 = 0;
}
노력하다 {
Basenum2 = num2.tostring (). split ( ".") [1] .length;
} catch (e) {
Basenum2 = 0;
}
Basenum = math.pow (10, math.max (basenum1, basenum2));
정밀 = (basenum1> = basenum2)? Basenum1 : Basenum2;
return ((num1 * basenum -num2 * basenum) / basenum) .tofixed (정밀);
};
/**
* 곱셈 작업은 데이터에 소수점을 곱한 후 여러 자리 수와 계산 정확도 손실을 피하기위한 곱셈 작업.
*
* @param num1 승수 | Num2 승수
*/
함수 nummulti (num1, num2) {
var basenum = 0;
노력하다 {
Basenum += num1.tostring (). split ( ".") [1] .length;
} catch (e) {
}
노력하다 {
Basenum += num2.tostring (). split ( ".") [1] .length;
} catch (e) {
}
return number (num1.toString (). replace ( ".", ",")) * 번호 (num2.toString (). 교체 ( ".", "") / math.pow (10, basenum);
};
/**
* 데이터의 소수점을 나눈 후 다중 자리 수와 계산 정확도 손실을 피하기위한 분할 작업.
*
* @param num1 배당 | Num2 배당
*/
함수 numdiv (num1, num2) {
var basenum1 = 0, basenum2 = 0;
var basenum3, basenum4;
노력하다 {
Basenum1 = num1.tostring (). split ( ".") [1] .length;
} catch (e) {
Basenum1 = 0;
}
노력하다 {
Basenum2 = num2.tostring (). split ( ".") [1] .length;
} catch (e) {
Basenum2 = 0;
}
(수학) {
basenum3 = 숫자 (num1.toString (). 교체 ( ".", "");
Basenum4 = 숫자 (num2.tostring (). replace ( ".", "");
return (basenum3 / basenum4) * pow (10, basenum2 -basenum1);
}
};