加法
原理:将浮点数转换为整数进行加法运算,运算结果再除以10的N次幂
例子:10.333+5.1232 ===> (103330+51232)÷10000
方法:
function addition(num1,num2){
var len1='';
var len2='';
if(num1.toString().indexOf('.')==-1){
len1=0;
}else{
len1=len1=num1.toString().split('.')[1].length;
}
if(num2.toString().indexOf('.')==-1){
len2=0;
}else{
len2=num2.toString().split('.')[1].length;
}
var len=len1>len2?len1:len2;
var x=Math.pow(10,len);
return (num1*x+num2*x)/x;
}
减法
原理:将浮点数转换为整数进行减法运算,运算结果再除以10的N次幂
例子:16.733+5.1232 ===> (167330-51232)÷10000
方法:
function subtration(num1,num2){
var len1='';
var len2='';
if(num1.toString().indexOf('.')==-1){
len1=0;
}else{
len1=len1=num1.toString().split('.')[1].length;
}
if(num2.toString().indexOf('.')==-1){
len2=0;
}else{
len2=num2.toString().split('.')[1].length;
}
var len=len1>len2?len1:len2;
var x=Math.pow(10,len);
return (num1*x-num2*x)/x;
}
乘法
原理:将浮点数转换为整数进行乘法运算,运算结果再除以10的N次幂
例子:45.123*6 ===> (45123*6000)÷1000
方法:
function multiplication(num1,num2){
var len1='';
var len2='';
if(num1.toString().indexOf('.')==-1){
len1=0;
}else{
len1=len1=num1.toString().split('.')[1].length;
}
if(num2.toString().indexOf('.')==-1){
len2=0;
}else{
len2=num2.toString().split('.')[1].length;
}
var lensum=len1+len2;
var x1=num1*Math.pow(10,len1);
var x2=num2*Math.pow(10,len2);
return (x1*x2)/Math.pow(10,lensum);
}
除法
原理:将浮点数转换为整数进行除法运算
例子:123.23÷1.11 ===> 12323÷111
方法:
function division(num1,num2){
var len1='';
var len2='';
if(num1.toString().indexOf('.')==-1){
len1=0;
}else{
len1=len1=num1.toString().split('.')[1].length;
}
if(num2.toString().indexOf('.')==-1){
len2=0;
}else{
len2=num2.toString().split('.')[1].length;
}
var len=len1>len2?len1:len2;
var x1=num1*Math.pow(10,len);
var x2=num2*Math.pow(10,len);
return (x1/x2);
}