Function Code As follows:
Copy code The Code is as follows :/*
* Arithmetic precision correction function
* M value 1 (number)
* N value 2 (number)
* Op operator (string)
*/
Function fixmath (m, n, OP ){
VaR A = (m + "");
VaR B = (n + "");
VaR x = 1;
Var y = 1;
VaR c = 1;
If (A. indexof (".")> 0 ){
X = math. Pow (10, A. Length-A. indexof (".")-1 );
}
If (B. indexof (".")> 0 ){
Y = math. Pow (10, B. Length-B. indexof (".")-1 );
}
Switch (OP)
{
Case '+ ':
Case '-':
C = math. Max (x, y );
M = math. Round (M * C );
N = math. Round (N * C );
Break;
Case '*':
C = x * y
M = math. Round (M * X );
N = math. Round (N * y );
Break;
Case '/':
C = math. Max (x, y );
M = math. Round (M * C );
N = math. Round (N * C );
C = 1;
Break;
}
Return eval ("(" + M + OP + N + ")/" + C );
}
Function usage:Copy codeThe Code is as follows: fixmath (2.3, 1.9 ,'*')
Fixmath (1.98, 1.9 ,'-')
Fixmath (83.50, 74.15 ,'-')