首页 > 解决方案 > 我们如何在邮件模板中转换货币?

问题描述

我正在使用 mailgun 发送发票副本邮件,但我想以格式化的方式显示金额。早些时候它显示为 305050.00 美元

在将金额发送到模板时,我将其转换为字符串并尝试更改它,但它不起作用

305,050.00 美元

标签: javascriptnode.jsmailgunemail-templates

解决方案


您可以使用此方法将任何数字字符串转换为美元格式的字符串:

function convert(str){
    const NUMBER_REGEX = /0*(0|[1-9][0-9]*)(\.[0-9]+)?/;
    const USD = /[0-9]{1,3}/g
    var match = str.match(NUMBER_REGEX);
    var result = "";
    if(match){
        let mantissa = match[1] ? match[1] : "";
        let exponent = match[2] ? match[2] : "";
        mantissa = mantissa.split("").reverse().join("").match(USD).map(function(value){
                return value.split("").reverse().join("");
            }).reverse().join(",");
        return mantissa + exponent;
    }
}
convert("1234567");

推荐阅读