gpt4 book ai didi

numeral.js - 使用 numeral.js 将语言环境格式转换回默认值

转载 作者:行者123 更新时间:2023-12-02 20:47:02 29 4
gpt4 key购买 nike

我以默认数字 js 格式存储数字和货币格式。我允许用户根据他们的区域设置拥有自己的格式。我正在尝试弄清楚如何将他们的自定义格式转换回默认格式,以便一致地存储它,以防他们更改语言环境。

例如设置电流:

numeral.register('locale', 'fr', {
delimiters: {
thousands: '.',
decimal: ','
},
abbreviations: {
thousand: 'k',
million: 'm',
billion: 'b',
trillion: 't'
},
ordinal : function (number) {
return number === 1 ? 'er' : 'ème';
},
currency: {
symbol: '€'
}
});

当我将“0.0,00€”恢复为首选格式时,如何转换回默认的 numeral.js 设置为“0,0.00$”以进行存储。

最佳答案

您可以通过使用 numeral.local('en') 设置本地来简单地在本地之间切换。你可以使用一个小帮助函数来为你做这件事。您只需将所需的本地和可能需要切换的当前数字传递给它。

下面是一个例子。我还添加了 money.js在货币之间进行转换。我相信您会明白的。

var yourNumeral = numeral(1234.56);

// helper fn to switch local and convert.
function switchLocal(local, num, convert) {
numeral.locale(local);
num.set(fx.convert(num.value(), convert));
return num.format();
}

// set money.js base and rates
fx.base = "EUR";
fx.rates = {
"USD" : 1.0873 // eg. 1 EUR === 1.0873 USD
};

// set default format.
numeral.defaultFormat('0,0[.]00 $');
// load a locale.
numeral.register('locale', 'fr', {
delimiters: {
thousands: ' ',
decimal: ','
},
abbreviations: {
thousand: 'k',
million: 'm',
billion: 'b',
trillion: 't'
},
ordinal : function (number) {
return number === 1 ? 'er' : 'ème';
},
currency: {
symbol: '€'
}
});
// set the loaded local.
numeral.locale('fr');

// yourNumeral with loaded local "fr".
console.log(yourNumeral.format());
// yourNumeral switched local to "en" and converted from € to $.
console.log(switchLocal('en', yourNumeral, { from: "EUR", to: "USD" }));
// yourNumeral switched back to "fr" local and converted back to € from $.
console.log(switchLocal('fr', yourNumeral, { from: "USD", to: "EUR" }));
<script src="https://openexchangerates.github.io/money.js/money.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/numeral.js/2.0.6/numeral.min.js"></script>

关于numeral.js - 使用 numeral.js 将语言环境格式转换回默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43934262/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com