繁体   English   中英

在 js 中格式化货币的数字

[英]Formatting numbers for currency in js

我想将数字格式化为货币格式,我正在尝试如下。 我举两个例子:

 var numero = 1274.78; var numero1 = 12740.78; var myObj = { style: "currency", currency: "EUR" } console.log(numero.toLocaleString("pt-PT", myObj)); console.log(numero1.toLocaleString("pt-PT", myObj));

在第二个例子中,它正确地格式化了数字,但在第一个例子中它没有。 由于您已经拥有数千,您应该将数字格式化为1 274.78 €而不是您正在格式化它。

您可以使用 numberWithSpaces 函数执行类似操作:

    var numero = 1274.78;
    var numero1 = 12740.78;
    var myObj = {
      style: "currency",
      currency: "EUR"
    }
    
    
    function numberWithSpaces(x) {
        var parts = x.toString().split(".");
        parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, " ");
        return parts.join(".");
    }
    
   console.log(numberWithSpaces(numero).toLocaleString("pt-PT", myObj));

   console.log(numberWithSpaces(numero1).toLocaleString("pt-PT", myObj));

结果是: 在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM