【全网最精简】一行代码解决千万位以上的数字格式化为银行金额数字格式/货币格式(如:¥1,000,000,000.00)

简介: 【全网最精简】一行代码解决千万位以上的数字格式化为银行金额数字格式/货币格式(如:¥1,000,000,000.00)


parseFloat(123456789.123456.toFixed(2)).toLocaleString();
//"123,456,789.12"(注意输出的是字符串)
 
parseFloat(parseFloat("123456789.123456").toFixed(2)).toLocaleString();
//转换字符串格式


"123,456,789.12".replace(/[^\d\.-]/g, "");//恢复数字格式为没有,的形式


以下是网友提供的一个很冗长的方式:


/*格式化数字为000,000,000.00,
s是需要转换的字符串or数字
n默认可以不用传参,
n是小数点后面的位数
*/
function formatMoney(s, n) {
    n = n > 0 && n <= 20 ? n : 2;
    s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
    var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];
    t = "";
    for (i = 0; i < l.length; i++) {
        t += l[i] + ((i + 1) % 3 === 0 && (i + 1) != l.length ? "," : "");
    }
    return t.split("").reverse().join("") + "." + r;
}


相关文章
|
2月前
|
IDE 开发工具 iOS开发
Python编程案例:中文金额转换并计算
Python编程案例:中文金额转换并计算
45 0
|
6月前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用问题之月和日是1位数的日期格式如何转化成标准日期值
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
7月前
|
存储 安全 Unix
C#.Net筑基-类型系统②常见类型--日期和时间的故事
在System命名空间中,有几种表示日期时间的不可变结构体(Struct):DateTime、DateTimeOffset、TimeSpan、DateOnly和TimeOnly。DateTime包含当前本地或UTC时间,以及最小和最大值;DateTimeOffset增加了时区偏移信息,适合跨时区操作。UTC是世界标准时间,而格林尼治标准时间(GMT)不稳定,已被更精确的UTC取代。DateTimeOffset和DateTime提供了转换为UTC和本地时间的方法,以及各种解析和格式化函数。
|
7月前
微信和支付宝支付的金额不能超过两位小数,可以把后台超过两位小数的支付字符串修正为两位小数
微信和支付宝支付的金额不能超过两位小数,可以把后台超过两位小数的支付字符串修正为两位小数
71 0
1273:【例9.17】货币系统
1273:【例9.17】货币系统
138 0
数字 金额 相关 转换
数字 金额 相关 转换
70 0
|
JavaScript 前端开发
javascript以当前日期为准计算当月、上月、下月直接输出日期的解决方案
javascript以当前日期为准计算当月、上月、下月直接输出日期的解决方案
105 0
如何用正则表达式判断手机号格式正不正确
如何用正则表达式判断手机号格式正不正确
147 0
|
测试技术
【解决方案 二十三】带单位的数值转大写人民币金额
【解决方案 二十三】带单位的数值转大写人民币金额
116 0