zoukankan      html  css  js  c++  java
  • js中如何将数据获得2位小数以及对数据进行千分位划分

    js中toFixed(n) 方法可把 数字四舍五入为指定小数位数n的数字,注意:这个方法只能对数据类型为Number的数据起作用,包括float,int等。例如:

     
    123.12345.toFixed(2);
     
    "123.12"          
     
    对数据进行千分位划分采用这样的一个语句就行了:.replace(/d{1,3}(?=(d{3})+(.d*)?$)/g, '$&,')。注意:replace()方法只能对字符串类型起作用,而我们队数据进行千分位划分的时候通常是对数值进行划分,因此在对数据进行千分位划分之前,还需要对数据进行转化,转化为String类型。或者使用123456.1234.toFixed(2)+""的方法将数据转化为String类型。例如:
    123456.1234.toFixed(2).toString().replace(/d{1,3}(?=(d{3})+(.d*)?$)/g, '$&,');
     
    "123,456.12"
    (123456.1234.toFixed(2)+"").replace(/d{1,3}(?=(d{3})+(.d*)?$)/g, '$&,');
     
    "123,456.12"
    这2个方法虽然很简单,但是在数据处理方面用的比较多,所以还是比较实用的。
    以上是对含有2位小数的float进行千分位划分,有时候可能float值不止2位小数,那么以上的正则表达式就不适用了,可以用以下方法对超过2位小数的值进行千分位划分。
    var getDataFormat=function(dataValue){
                var nDataValue = dataValue;
                if(!isNaN(dataValue)){
                    if (/^(+|-)?(d+)(.d+)?$/.test(dataValue)) {
                        var a = RegExp.$1, b = RegExp.$2, c = RegExp.$3;
                        var re = new RegExp();
                        re.compile("(\d)(\d{3})(,|$)");
                        while (re.test(b)) {
                            b = b.replace(re, "$1,$2$3");
                    }
                      }
                    nDataValue=(a + "" + b + "" + c);
                }
                
                return nDataValue;
            };
  • 相关阅读:
    全景3d
    node.JS
    同步、异步
    必填
    this.$http.post ||this.$http.put||vue 获取url参
    硬编码转换单位||vue
    路由下二级跳转: childen 的childen
    vue侧边栏导航和右边内容一样高
    v-for v-if || v-else
    Python_Automation_04Email_smtplib
  • 原文地址:https://www.cnblogs.com/alisayuan/p/4781261.html
Copyright © 2011-2022 走看看