<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
  <style>
  div{
	text-align:center;
	margin-top:20%;
  }
  a{
	font-size:30px;
	float:left;
	margin-left:43%
  }
  </style>
 </head>
 <body>

<div style ="">
  <a href='#' onclick="doMath('1')">加(2.0 + 10.0)</a>
  <a href='#' onclick="doMath('2')">减(2.0 - 10.0)</a>
  <a href='#' onclick="doMath('3')">乘(2.0 * 10.0)</a>
  <a href='#' onclick="doMath('4')">除(2.0 ÷ 10.0)</a>
</div>

 </body>
 <script>
    function doMath(type){
		// var arg1 = null;
		var arg1 = 2.0;
		var arg2 = 10.0
		if(type == '1'){
			alert(FloatAdd(arg1, arg2));
		} else if(type =='2'){
			alert(FloatSub(arg1, arg2));
		} else if(type == '3'){
			alert(FloatMul(arg1, arg2));
		} else if(type == '4'){
			alert(FloatDiv(arg1, arg2));
		} else {
			alert("运算错误");
		}
	}
	//浮点数加法运算
	function FloatAdd(arg1,arg2){
		var r1,r2,m;
		try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
		try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
		m=Math.pow(10,Math.max(r1,r2));
		return (arg1*m+arg2*m)/m;
	}

	//浮点数减法运算
	function FloatSub(arg1,arg2){
		var r1,r2,m,n;
		try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
		try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
		m=Math.pow(10,Math.max(r1,r2));
		//动态控制精度长度
		n=(r1=r2)?r1:r2;
		return ((arg1*m-arg2*m)/m).toFixed(n);
	}

	//浮点数乘法运算
	function FloatMul(arg1,arg2)
	{
		var m=0,s1=arg1.toString(),s2=arg2.toString();
		try{m+=s1.split(".")[1].length}catch(e){}
		try{m+=s2.split(".")[1].length}catch(e){}
		return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m);
	}


	 //浮点数除法运算
	function FloatDiv(arg1,arg2){
		var t1=0,t2=0,r1,r2;
		try{t1=arg1.toString().split(".")[1].length}catch(e){}
		try{t2=arg2.toString().split(".")[1].length}catch(e){}
		with(Math){
			r1=Number(arg1.toString().replace(".",""));
			r2=Number(arg2.toString().replace(".",""));
			return (r1/r2)*pow(10,t2-t1);
		}
	}

 </script>
</html>


参考网址:https://www.cnblogs.com/moxuanshang/p/5790466.html

01-21 14:07