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;
            };
  • 相关阅读:
    我修改/收藏的CSDN知识.(asp.net JavaScript)
    哪里摔倒就在哪里躺下
    显示存储过程的名称、创建时间、修改时间
    Flash Builder 初试(二)绑定和双向绑定
    C#支持中文的格式化字符长度方法
    Flash Builder 初试(一)信息提示窗口
    Flash Builder 初试(三) 使用摄像头
    Null Object 模式
    开放封闭原则(OCP)
    面向对象设计5大准则
  • 原文地址:https://www.cnblogs.com/alisayuan/p/4781261.html
Copyright © 2011-2022 走看看