首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么在es-ES区域上Intl.NumberFormat格式化4位数字?

为什么在es-ES区域上Intl.NumberFormat格式化4位数字?
EN

Stack Overflow用户
提问于 2019-10-17 10:30:08
回答 1查看 3.3K关注 0票数 4

我正在尝试用Intl.NumberFormat.格式化一个数字

我已经检查了MDN WebDocs,但是我无法得到响应,我想它应该会返回。

我正在用西班牙语的语言环境格式化,我想要获得数千之间的点分隔符(使用useGrouping选项),但是,我没有得到它

  • 预期结果: 1.124,50欧元
  • 获得的结果: 1124,50欧元

代码语言:javascript
运行
复制
var sNumber = '1124.5'
var number = new Number(sNumber);

let  style = {
            style: 'currency',
            currency: "EUR",
            minimumFractionDigits: 2,
            useGrouping: true
        };

const formatter = new Intl.NumberFormat("es", style);

console.log(formatter.format(number));

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-17 10:43:28

这似乎是西班牙格式化程序的一个特点,包括4位数字数字(即1234.56)。

看一看下面的内容并运行它:

代码语言:javascript
运行
复制
let  style = {
            style: 'currency',
            currency: "EUR",
            minimumFractionDigits: 2,
            useGrouping: true
        };
var formatter = new Intl.NumberFormat("es", style);

console.log('Spanish (ES)');
console.log(formatter.format(1234.56));
console.log(formatter.format(12345.67));
console.log(formatter.format(123456.78));

formatter = new Intl.NumberFormat("de-DE", style);

console.log('German (de-DE)');
console.log(formatter.format(1234.56));
console.log(formatter.format(12345.67));
console.log(formatter.format(123456.78));

您将看到,对于5位及以上的数字,西班牙格式化程序确实按预期对数字进行分组。

但是,如果使用德语格式化程序(de-DE),它将正确格式化4位数字.

输出:

代码语言:javascript
运行
复制
Spanish (ES)
1234,56 €
12.345,67 €
123.456,78 €

German (de-DE)
1.234,56 €
12.345,67 €
123.456,78 €
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58430460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档