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
在 Javascript 1.5 (IE5.5+ , NS6+ 以上版本支持)中,新增了2个专门用于货币流通的函数:
Number.toFixed(x) 和 Number.toPrecision(x)。
Number.toFixed(x) 是将指定数字截取小数点后 x 位, Number.toPrecision(x) 是将整个数字截取指定(x)长度。注意,一个是计算小数点后的长度,一个是计算整个数字的长度 。
请看完整示例:
<script type="text/javascript">
var aa = 2.3362;
document.write(aa.toFixed(1)); //2.3
document.write(aa.toFixed(2)); //2.34
document.write(aa.toPrecision(2)); //2.3
document.write(aa.toPrecision(3)); //2.34
document.write(Math.round(aa * 10) / 10); //2.3
document.write(Math.round(aa * 100) / 100); //2.34
</script>
显然,新增的 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;
};