javascript在没有任何外部依赖关系的情况下拥有原生i18n API真是太好了!
但是有什么办法可以自定义它的输出吗?或构建可以保持一致的自定义本地化?我发现这个领域的文档相当混乱。我在尝试使用本机函数时遇到两个问题:
(-5).toLocaleString('fr-ca', {style: 'currency', currency: 'CAD'})
// IE11: "(5,00 $)"
// Chrome: "-5,00 $"
// requirements: "−5,00 $"
我们的辅助功能测试人员需要打印负货币值,如下所示:
(-5).toLocaleString('en-ca', {style: 'currency', currency: 'CAD'})
// requirements: "$−5.00"
// (Using unicode char U+2212 (minus sign) and flipping minus and $.
// Most browsers: "-$5.00"
我已经阅读了一些关于指定要使用哪个区域设置的内容,但没有详细介绍如何在Moment.js和类似库中自定义方式。我非常喜欢使用内置API的想法,但如果它无法帮助我们满足业务需求,那么它可能就不值得了。
答案 0 :(得分:0)
Number.prototype.toLocale = function(){
return (`$` + Math.round(this, 2)).replace(".", ",");
}