美文网首页
js使用Math.round() 精确保留小数点后几位,同时小数

js使用Math.round() 精确保留小数点后几位,同时小数

作者: _信仰zmh | 来源:发表于2018-09-07 18:00 被阅读33次

    js将 内存单位转换成对应的MB、GB,将个数单位转换成对应的万、百万、千万、亿

    • 不足GB的,取整数
    • 超过GB的,四舍五入保留一位小数。
    • 超过万级,保留一位小数。
    // ifSQLmemory 是否是内存单位 true、false
        function unitChange(num, ifSQLmemory){
                    num = parseFloat(num);
                    if(ifSQLmemory){
                        if(num ||num == 0){
                            if(num >=1024){
                                return Math.round(num/1024 * 10) / 10 +"GB";
                            }else{
                                return Math.round(num) +"MB";
                            }
                        }else{
                            return "--";
                        }
                    }else{
                        if(num ||num == 0){
                            if(num >=100000000){
                                return Math.round(num/100000000 * 10) / 10 +"亿个";
                            }else if(num >=10000000){
                                return Math.round(num/10000000 * 10) / 10 +"千万个";
                            }else if(num >=1000000){
                                return Math.round(num/1000000 * 10) / 10 +"百万个";
                            }else if(num >=10000){
                                return Math.round(num/10000 * 10) / 10 +"万个";
                            }else{
                                return Math.round(num) +"个";
                            }
                        }else{
                            return "--";
                        }
                    }   
        }
    

    小结点:

    parseFloat判断下是不是个数字,非数字的NaN,布尔值为false。

    内存的比例是 1024

    js if条件语句防止跳楼冗余的条件参数

    Math.round()方法:四舍五入,取得是整数不能精确小数位

    Number.toFixed()方法,能保留小数点后面的指定位数,但是有这种情况,21.0,应该转换成21。

    如何使用Math.round()保留1位小数?

    先把数据扩大10倍四舍五入后在缩小10倍即可。

    Math.round(num/10000 * 10) / 10
    
    • 同理,保留2位小数,就扩大100倍

    相关文章

      网友评论

          本文标题:js使用Math.round() 精确保留小数点后几位,同时小数

          本文链接:https://www.haomeiwen.com/subject/llthgftx.html