Javascript 用挪威克朗格式化价格的Intl.NUMBER格式

Javascript 用挪威克朗格式化价格的Intl.NUMBER格式,javascript,Javascript,我正在尝试使用挪威克朗的Intl.NumberFormat()来格式化价格 我使用的说明是: console.log(新的Intl.NumberFormat('no-no',{style:'currency',currency:'NOK')).format(123))您可以使用属性currencyDisplay:“name”。这并没有显示在我的版本长名称中,但我猜它更接近预期的解决方案。 console.log(新的Intl.NumberFormat('no-no',{style:'curre

我正在尝试使用挪威克朗的
Intl.NumberFormat
()来格式化价格

我使用的说明是:


console.log(新的Intl.NumberFormat('no-no',{style:'currency',currency:'NOK')).format(123))您可以使用属性currencyDisplay:“name”。这并没有显示在我的版本长名称中,但我猜它更接近预期的解决方案。

console.log(新的Intl.NumberFormat('no-no',{style:'currency',currency:'NOK',currencyDisplay:'name}).format(123))这是铬系错误。
如果没有人已经这样做了,那么除了向开发者报告发布一张罚单外,没有什么可以做的

唯一可行的方法是使用补丁,当chrome团队解决了这个问题时,您可以更改补丁

它应该在任何地方都能正常工作,不会产生负面影响,即使在chrome团队修正后仍然存在

我的建议是:

const IntlNfNO=new Intl.NumberFormat('no-no',{style:'currency',currency:'NOK'})
,Intl_NOK=v=>IntlNfNO.format(v).replace('NOK','kr'))
;
控制台日志(Intl_NOK(123));
控制台日志(Intl_NOK(456))

.as控制台包装{max height:100%!important;top:0;}
根据规范,
Intl
不支持挪威货币的缩写。为了设置货币值的格式,您应该根据我们的需要使用来设置货币值的格式

函数getNorwegianCurrencyFormat(值){ const norwegiancurrency shortform=“Kr” const norwegianCurrencyFormat=new Intl.NumberFormat('no-no',{style:'currency',currency:'NOK'}); 返回norwegianCurrencyFormat.formatToParts(123).map(({type,value})=>type==“currency”?norwegianCurrencyShortForm:value)。连接(“”); }
日志(getNorwegianCurrencyFormat(123))如果您只想获得kr,一个解决方法可能是:


console.log(新的Intl.NumberFormat('sv',{style:'currency',currency:'SEK')).format(number))

使用
当前显示:“窄符号”
这将提示numberFormatter显示NOK的缩写形式

另外,挪威语的正确语言环境是
nb nb
nb NY
,这样可以为组使用空格分隔符,为小数使用逗号


console.log(新的Intl.NumberFormat('nb-nb',{style:'currency',currency:'NOK',currencyDisplay:'slowsymbol}).format(123))查看当前显示选项EP我查看了该选项,但默认值仍然是“symbol”。我不应该显示代码。当符号不可用时,它将显示ISO货币代码。因此,您似乎在没有“kr”符号的浏览器上测试它。如果我在Chrome中测试它,它会显示“NOK”,但在使用Firefox时,它会显示“kr”。@Ivar我刚刚在Firefox中试过。梅内拉奥斯巴科普洛斯很奇怪。在FF 72.0.2(64位)(Windows 10)上。抱歉,这不是我想要的结果。我真的很想知道为什么货币代码“NOK”没有正确地用符号处理…@HyukchanKwon要求反馈是不是太过分了?