百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> javascript保留小数位函数详解
分享文章到:

javascript保留小数位函数详解

发布时间:01/15 来源: 浏览: 关键词:
js本身就为我提供了不少保留小数位的函数,当然我也可以自己去写一些保留小数位的方法,下面我来给各位同学介绍一些。

第一种,利用math.round

 代码如下
var original=28.453
1) //round "original" to two decimals
var result=Math.round(original*100)/100;  //returns 28.45
2) // round "original" to 1 decimal
var result=Math.round(original*10)/10;  //returns 28.5

 

第二种,js1.5以上可以利用toFixed(x) ,可指定数字截取小数点后 x位

 代码如下

3) //round "original" to two decimals
var result=original.toFixed(2); //returns 28.45

4) // round "original" to 1 decimal
var result=original.toFixed(1); //returns 28.5

 

以上两种方法最通用,但却无法满足某些特殊要求,比如保留小数点后两位,如果不满两位,不满两位则补零。此时就有了第三种方法。

下面自己整理了一些保留小数函数

 代码如下

//保留两位小数  
//功能:将浮点数四舍五入,取小数点后2位 
function toDecimal(x) { 
    var f = parseFloat(x); 
    if (isNaN(f)) { 
        return; 
    } 
    f = Math.round(x*100)/100; 
    return f; 


//制保留2位小数,如:2,会在2后面补上00.即2.00 

function toDecimal2(x) { 
    var f = parseFloat(x); 
    if (isNaN(f)) { 
        return false; 
    } 
    var f = Math.round(x*100)/100; 
    var s = f.toString(); 
    var rs = s.indexOf('.'); 
    if (rs < 0) { 
        rs = s.length; 
        s += '.'; 
    } 
    while (s.length <= rs + 2) { 
        s += '0'; 
    } 
    return s; 

function fomatFloat(src,pos){    
     return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);    


//四舍五入 
alert("保留2位小数:" + toDecimal(3.14159267)); 
alert("强制保留2位小数:" + toDecimal2(3.14159267)); 
alert("保留2位小数:" + toDecimal(3.14559267)); 
alert("强制保留2位小数:" + toDecimal2(3.15159267)); 
alert("保留2位小数:" + fomatFloat(3.14559267, 2)); 
alert("保留1位小数:" + fomatFloat(3.15159267, 1)); 
 
//五舍六入 
alert("保留2位小数:" + 1000.003.toFixed(2)); 
alert("保留1位小数:" + 1000.08.toFixed(1)); 
alert("保留1位小数:" + 1000.04.toFixed(1)); 
alert("保留1位小数:" + 1000.05.toFixed(1)); 
 
//科学计数 
alert(3.1415.toExponential(2)); 
alert(3.1455.toExponential(2)); 
alert(3.1445.toExponential(2)); 
alert(3.1465.toExponential(2)); 
alert(3.1665.toExponential(1)); 
//精确到n位,不含n位 
alert("精确到小数点第2位" + 3.1415.toPrecision(2)); 
alert("精确到小数点第3位" + 3.1465.toPrecision(3)); 
alert("精确到小数点第2位" + 3.1415.toPrecision(2)); 
alert("精确到小数点第2位" + 3.1455.toPrecision(2)); 
alert("精确到小数点第5位" + 3.141592679287.toPrecision(5)); 

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有6人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板