资讯专栏INFORMATION COLUMN

金额格式化 处理千分位 金额逗号,隔开

mtunique / 3548人阅读

摘要:方法处理千分位使用转化成字符串若需要其他小数精度,可将改成变量方法功能金额按千位逗号分割参数,需要格式化的金额数值参数,类型金额的小数位返回返回格式化后的数值方法不带小数位默认是有小数位

方法1.

//处理千分位使用
var dealThousands = function(value) {
    if (value === 0) {
        return parseFloat(value).toFixed(2);
    }
    if (value != "") {
        var num = "";
        value += "";//转化成字符串
        value = parseFloat(value.replace(/,/g, "")).toFixed(2);//若需要其他小数精度,可将2改成变量
        if (value.indexOf(".") == -1) {
            num = value.replace(/d{1,3}(?=(d{3})+$)/g, function(s) {
                return s + ",";
            });
        } else {
            num = value.replace(/(d)(?=(d{3})+.)/g, function(s) {
                return s + ",";
            });
        }
    } else {
        num = ""
    }
    return num;
}

方法2.

/*
 * formatMoney(s,type)
 * 功能:金额按千位逗号分割
 * 参数:s,需要格式化的金额数值.
 * 参数:type,(number类型)金额的小数位.
 * 返回:返回格式化后的数值.
 */
var formatMoney= (val,type) => {
    if(val === "" || val === 0) return "0.00"
    val = Number(val)
    if(isNaN(val)) return ""
    return val.toFixed(type).replace(/(d)(?=(d{3})+.)/g, "$1,")
  }

方法3.

formatMoney = function(s, type) {
    // if (/[^0-9.]/.test(s))
    //     return "0.00";
    // if(isNaN(val)) return ""
    if (s == null || s == "" || s == 0)
        return "0.00";
    s = Number(s)
    var result = s;
    if(s<0){
        s=0 - s;
    }
    if(isNaN(s)) return ""
    s = s.toString().replace(/^(d*)$/, "$1.");
    s = (s + "00").replace(/(d*.dd)d*/, "$1");
    s = s.replace(".", ",");
    var re = /(d)(d{3},)/;
    while (re.test(s))
        s = s.replace(re, "$1,$2");
    s = s.replace(/,(dd)$/, ".$1");
    if (type == 0) {// 不带小数位(默认是有小数位)
        var a = s.split(".");
        if (a[1] == "00") {
            s = a[0];
        }
    }
    if(result<0){
        s = "-"+s
    }
    return s;
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100283.html

相关文章

  • 简单学习 JavaScript 正则表达式

    摘要:对于对象,方法返回一个该正则表达式的字面量。显示显示正则表达式在的应用一个在字符串中执行查找匹配的方法,它返回一个数组或者在未匹配到时返回。 为什么要用正则表达式 简单的说:我们与字符串接触的频率非常之高,正则表达式可以极大的提高复杂文本分析的效率,快速匹配出复杂的字符串。 创建一个正则表达式 直接量语法(字面量) var expression = /pattern/flags ;...

    nevermind 评论0 收藏0
  • 正则表达式实例

    摘要:收集在业务中经常使用的正则表达式实例,方便以后进行查找,减少工作量。校验手机号下面是国内开头的手机号正则表达式。提取网页图片假若你想提取网页中所有图片信息,可以利用下面的表达式。抽取注释如果你需要移除中的注释,可以使用如下的表达式。 收集在业务中经常使用的正则表达式实例,方便以后进行查找,减少工作量。 校验基本日期格式 校验密码强度 校验中文 由数字、26个英文字母或下划线组成的字符...

    zhoutk 评论0 收藏0
  • 彻底理解使用JavaScript 将Json数据导出CSV文件

    摘要:前言将数据报表导出,是数据报告展示常用的附带功能。今天我们主要讲的是直接通过前端将数据导出的格式的文件。但其实真正的答案应该是把相应的数据转换成和。若是超过浏览器自身限制的最大长度,会导致下载失败。 前言 将数据报表导出,是web数据报告展示常用的附带功能。通常这种功能都是用后端开发人员编写的。今天我们主要讲的是直接通过前端js将数据导出Excel的CSV格式的文件。 原理 首先在本地...

    jsliang 评论0 收藏0
  • 彻底理解使用JavaScript 将Json数据导出CSV文件

    摘要:前言将数据报表导出,是数据报告展示常用的附带功能。今天我们主要讲的是直接通过前端将数据导出的格式的文件。但其实真正的答案应该是把相应的数据转换成和。若是超过浏览器自身限制的最大长度,会导致下载失败。 前言 将数据报表导出,是web数据报告展示常用的附带功能。通常这种功能都是用后端开发人员编写的。今天我们主要讲的是直接通过前端js将数据导出Excel的CSV格式的文件。 原理 首先在本地...

    hyuan 评论0 收藏0

发表评论

0条评论

mtunique

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<