js 实现两个小数的相乘、相除功能

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>jquery中的ajax</title>
 6 <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
 7 <style type="text/css">
 8 </style>
 9 <script type="text/javascript">
10 //计算两个数相乘
11 function Mul(arg1, arg2){
12 var m=0,s1=arg1.toString(),s2=arg2.toString();
13 //获取两个相乘数据的小数点后面的数据的长度,即获取小数的位数,因为最终相乘计算的结果:结果小数的位数=第一个数的小数位数+第二个数的小数位数
14 try{
15 m+=s1.split(".")[1].length;
16 }catch(e){}
17 try{
18 m+=s2.split(".")[1].length;
19 }catch(e){}
20 //将两个小数去掉小数点,强制转换整个值(即进行数值放开小数点位数的倍数),然后进行相乘的操作,相乘的结果除去10的m次方
21 return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m);
22 }
23 //计算两个数相除
24 function division(arg1, arg2){
25 var t1 = 0, t2 = 0, r1, r2;
26 try { 
27 t1 = new String(arg1).split(".")[1].length;
28 } catch (e) { }
29 try { 
30 t2 = arg2.toString().split(".")[1].length;
31 } catch (e) { }
32 r1 = Number(new String(arg1).replace(".", ""));
33 r2 = Number(arg2.toString().replace(".", ""));
34 //放大倍数后两个数相除 后,乘以两个小数位数长度相减后的10的次幂
35 var money = Mul((r1 / r2),Math.pow(10, t2 - t1));
36 //保留2个小数位数
37 return money.toFixed(2);
38 }
39 
40 $(function(){
41 alert(Mul(1.414,1.732));
42 alert(division(1.732,1.4146));
43 });
44 </script>
45 </head>
46 <body>
47 </body>
48 </html>

 

posted @ 2019-07-02 17:48  yuwenjing  阅读(3328)  评论(0编辑  收藏  举报