我试图用矩JS来格式化货币值的输出,并在他们的网站'$ 0,0[.]00'上使用这个例子,并为英镑'£ 0,0[.]00'编辑这个输出值,而不是英镑符号。
数字不支持美元以外的货币吗?
我使用的代码是:
numeral(200).format('£ 0,0[.]00')发布于 2016-05-09 22:44:28
在非缩小码的第67和68行中有:
// figure out what kind of format we are dealing with
if (format.indexOf('$') > -1) { // currency!!!!!因此,是的,“美元”似乎是唯一认可的货币符号。您可以单独添加货币符号,例如:
var amount = '£' + numeral(2456.01231).format('0,0[.]00');
console.log(amount); // £2,456.01或者扩展库来处理其他货币符号。
最好使用ISO符号GBP,这是不含糊的。有许多货币使用£符号,许多货币使用$。
发布于 2020-01-28 16:34:55
导入区域设置,然后手动设置。
import numeral from 'numeral';
import 'numeral/locales/en-gb';
numeral.locale('en-gb');
numeral('1234.56').format('$0,0.00'); // £1,234.56发布于 2018-08-16 15:00:03
考虑到这个问题最初是在两年前回答的,我想提供另一个答案。数字现在支持区域设置,这意味着您可以选择不同的货币格式。
我在代码库中所做的工作是:
numeral(value).format()应用我刚才定义的默认格式,这就是它看起来的样子:
import * as numeral from 'numeral';
require('numeral/locales/en-gb');
numeral.locale('en-gb');
numeral.defaultFormat('$0,0.00');
numeral(200).format(); // £200.00
numeral(1234).format(); // £1,234.00
numeral(5431.31).format(); // £5,431.31注意:在指定numeral.defaultFormat('$0,0.00')时仍然需要使用美元符号。但是,由于使用了GB语言环境,数字实际上会呈现一个£。使用'£0,0.00'作为格式实际上不会呈现任何货币符号。
https://stackoverflow.com/questions/37126178
复制相似问题