如何允许德国用户在React JavaScript中输入德语格式的数字

时间:2017-12-13 06:15:07

标签: javascript reactjs react-intl

我们正在开发应该支持德语和英语用户的应用程序。

我们可以做些什么来允许德国用户输入德语格式的数字(作为小数点和。作为千位分隔符),并且当他从输入框中输出时,我们应该能够将输入文本转换为JavaScript数字, 现在,当我们使用Number()函数时,它为我们提供了Number("12,23")

的NaN

我们可以使用新的Intl.NumberFormat()将英文文本转换为德语格式编号,但反之亦然。

1 个答案:

答案 0 :(得分:3)

你可以使用numbers.js locales http://numeraljs.com/#locales



// load a locale
numeral.register('locale', 'de', {
    delimiters: {
        thousands: '.',
        decimal: ','
    },
    abbreviations: {
        thousand: 'k',
        million: 'm',
        billion: 'b',
        trillion: 't'
    },
    ordinal : function (number) {
        return number === 1 ? 'er' : 'ème'; //this is taken from french example, don't know in german
    },
    currency: {
        symbol: '€' //same as above
    }
});

// switch between locales
numeral.locale('de');

console.log(numeral('123,45').value());
console.log(numeral('6.123,45').value());
console.log(numeral('123,45m').value());

<script src="//cdnjs.cloudflare.com/ajax/libs/numeral.js/2.0.6/numeral.min.js"></script>
&#13;
&#13;
&#13;