javascript - 有没有办法在 ECMAscript 国际化 API 中获取小数点和千位分隔符?

标签 javascript internationalization number-formatting ecmascript-5 ecmascript-intl

我正在尝试使用新的 Javascript internationalization API ,并想知道是否有办法获取 Intl.NumberFormat 实例的小数点和千位(分组)分隔符?

有一个resolvedOptions对象上的方法,但不提供符号。

如果有人想知道,那么对于 en-US,这些将是逗号 , 和句点 .,例如 1,000.00

最佳答案

如果不出意外,作为一个技巧解决方案(没有通过火鸡测试;请参阅评论),您可以使用 toLocaleString() 的输出确定有关语言环境中数字格式的信息。对于当前语言环境,例如:

var decimalSeparator = 
    (12345.6789).toLocaleString().match(/345(.*)67/)[1];
var thousandSeparator = 
    (12345.6789).toLocaleString().match(/12(.*)345/)[1];
var numberOfDecimals = 
    (12345.6789).toLocaleString().match(/345(\D*)(\d+)$/)[2].length;

同样的技巧可以用于货币格式化,例如使用(12345.6789).toLocaleString("en-GB", { style: "currency"})

关于javascript - 有没有办法在 ECMAscript 国际化 API 中获取小数点和千位分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25722876/

相关文章:

javascript - Photoshop Javascript 脚本 : Rename file and saveAs

带前导零的JSTL填充int

low-level - 打印一个十进制数

c# - 以指数格式显示的数据

JavaScript 抛出未定义的错误

javascript - 与合并对象连接

javascript - 如何使用 Jquery 从按钮切换阅读更多?

asp.net-mvc - 获取 mvc 4 上的当前文化或浏览器区域设置

java - 如何在 xgettext 的 bean 验证注释中标记字符串消息?

javascript - 查找React/Node项目中所有硬编码的字符串