js 实现两个小数的相乘、相除功能
程序员文章站
2022-04-11 08:21:42
...
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jquery中的ajax</title> <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script> <style type="text/css"> </style> <script type="text/javascript"> //计算两个数相乘 function Mul(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){} //将两个小数去掉小数点,强制转换整个值(即进行数值放开小数点位数的倍数),然后进行相乘的操作,相乘的结果除去10的m次方 return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m); } //计算两个数相除 function division(arg1, arg2){ var t1 = 0, t2 = 0, r1, r2; try { t1 = new String(arg1).split(".")[1].length; } catch (e) { } try { t2 = arg2.toString().split(".")[1].length; } catch (e) { } r1 = Number(new String(arg1).replace(".", "")); r2 = Number(arg2.toString().replace(".", "")); //放大倍数后两个数相除 后,乘以两个小数位数长度相减后的10的次幂 var money = Mul((r1 / r2),Math.pow(10, t2 - t1)); //保留2个小数位数 return money.toFixed(2); } $(function(){ alert(Mul(1.414,1.732)); alert(division(1.732,1.4146)); }); </script> </head> <body> </body> </html>