javascript小数四舍五入(保留n位小数四舍五入)[转]

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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值