百度空间 | 百度首页 
 
文章列表
 
您正在查看 "前端web开发" 分类下的文章

2009-05-12 15:44
javascript小数四舍五入

一、问题的产生:
自己在编码时,在javascript中遇到了3.21*3=9.629999999999999的现象

二、百度一下

http://21xp.com/kn6

得到如下信息:

用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>

三、总结后,自己写了个javascript多位数四舍五入的通用方法

//num表示要四舍五入的数,v表示要保留的小数位数。
function decimal(num,v)
{
    var vv = Math.pow(10,v);
    return Math.round(num*vv)/vv;
}
类别:前端web开发 | 评论(0) | 浏览()
 
     
 
 
文章分类
 
 
 
 
 
 
Php(4)
 
 
 
Seo(1)
 
 
     
 
文章存档
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
     
 
最新文章评论
   

imfantasy@qq.com 谢谢
 

ilsanbao@163.com
 

h365@qq.com
 

晚上好
 

不懂...
 
     


©2009 Baidu