Javascript 中截取小数位并实现四舍五入的方法

Javascript 1.5 新增函数

在 Javascript 1.5 (IE5.5+ , NS6+ 以上版本支持)中,新增了2个专门用于货币流通的函数:
Number.toFixed(x) 和 Number.toPrecision(x)。

Number.toFixed(x) 是将指定数字截取小数点后 x 位, Number.toPrecision(x) 是将整个数字截取指定(x)长度。注意,一个是计算小数点后的长度,一个是计算整个数字的长度 。

请看完整示例:



显然,新增的 2 个专用函数使用非常方便,但是因为是新增函数,所以要考虑浏览器支持问题,请根据您的客户群选择对应的方法。

发现 Number.toFixed() 多浏览器兼容BUG
1.255.toFixed(2);
//return
//chrome: 1.25
//ie: 1.26
//firefox: 1.25

换个数值,结果却正确
1.155.toFixed(2);
//chrome: 1.16
//ie: 1.16
//firefox: 1.16

 
//重写toFixed方法
Number.prototype.toFixed=function(len) {
var add = 0;
var s,temp;
var s1 = this + "";
var start = s1.indexOf(".");
if(s1.substr(start+len+1,1)>=5)add=1;
var temp = Math.pow(10,len);
s = Math.floor(this * temp) + add;
return s/temp;
};

你可能感兴趣的:(javascript)