js中四舍五入保留两位效数,js中将Number转换成字符类型

今天在写代码的时候遇到了点问题,特意记下,以免忘记!
四舍五入方法:

 1 // num为传入的值,n为保留的小数位
 2 function fomatFloat(num,n){   
 3     var f = parseFloat(num);
 4     if(isNaN(f)){
 5         return false;
 6     }   
 7     f = Math.round(num*Math.pow(10, n))/Math.pow(10, n); // n 幂   
 8     var s = f.toString();
 9     var rs = s.indexOf('.');
10     //判定如果是整数,增加小数点再补0
11     if(rs < 0){
12         rs = s.length;
13         s += '.'; 
14     }
15     while(s.length <= rs + n){
16         s += '0';
17     }
18     return s;
19 }

在js文件中做简单的加减乘除四则运算,一定要注意:先将字符类型转换成Number类型,在最后的输出值的时候在转换成字符类型(调用的是toString()方法),如果不这样做的话,是会报错的。

1    var tAmnt= AmntCurrencyGrid.getRowColData(i,2);//责任原保额
2     var tPrem=AmntCurrencyGrid.getRowColData(i,3);//责任原保费
3     var tChangeAmnt=AmntCurrencyGrid.getRowColData(i,4);//责任调整后保额
4     var tChangePrem=Number(tPrem)*Number(tChangeAmnt)/Number(tAmnt);
5     tChangePrem=fomatFloat(tChangePrem,2);
6     AmntCurrencyGrid.setRowColData(i,5,tChangePrem.toString());

猜你喜欢

转载自www.cnblogs.com/dongyaotou/p/11758816.html