javascript取小数位数

来源:互联网 发布:局域网网络硬盘服务器 编辑:程序博客网 时间:2024/06/05 16:38

转载地址: http://hi.baidu.com/qianko/blog/item/7ffe07010425aad1267fb5fd.html


用Javascript取float型小数点后两位,例22.127456取成22.13,如何做?

1. 最笨的办法....... [我就怎么干的.........]

function get(){    var s = 22.127456 + "";    var str = s.substring(0,s.indexOf(".") + 3);    alert(str);}

2. 正则表达式效果不错

<script type="text/javascript">onload = function(){    var a = "23.456322";    var aNew;    var re = /([0-9]+\.[0-9]{2})[0-9]*/;    aNew = a.replace(re,"$1");    alert(aNew);}</script>

3. 他就比较聪明了.....

<script>  var num=22.127456;  alert( Math.round(num*100)/100);</script>

4.会用新鲜东西的朋友....... 但是需要 IE5.5+才支持。

<script>  var num=22.127456;  alert( num.toFixed(2));</script>

round 方法

作用:返回与给出的数值表达式最接近的整数。
语法:Math.round(number) ,必选项 number 参数是要舍入到最接近整数的值。
说明:如果 number 的小数部分大于等于 0.5,返回值是大于 number 的最小整数。否则,round 返回小于等于 number 的最大整数。

示例:

 // 如果取一位则乘以 10 之后再除以 10, 以此类推Math.round(3.248 * 100) / 100

Javascript 1.5 新增函数

在 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.3document.write(aa.toFixed(2)); // 2.34  document.write(aa.toPrecision(2)); // 2.3document.write(aa.toPrecision(3)); // 2.34  document.write(Math.round(aa * 10) / 10); // 2.3document.write(Math.round(aa * 100) / 100); // 2.34  </script>

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


原创粉丝点击