React/Javascript中的货币格式

React/Javascript中的货币格式,javascript,reactjs,input,Javascript,Reactjs,Input,各位下午好 我正在使用React NumberFormat进行货币格式设置,它工作得很好,但是我无法用它重现我想要的页面行为 我希望用户键入1010输入,输入自动将其更正为$10.10 然而,我发现的所有方法,当用户键入1010时,他更正为$1010.00 如何在输入中实时获得此行为?一旦用户输入,它就已经格式化了 谢谢 我需要正则表达式或代码,其中: I类型-返回代码 1010 ===> 10.10 1000 ====> 10.00 1050 =====> 10.50 100

各位下午好

我正在使用React NumberFormat进行货币格式设置,它工作得很好,但是我无法用它重现我想要的页面行为

我希望用户键入1010输入,输入自动将其更正为$10.10

然而,我发现的所有方法,当用户键入1010时,他更正为$1010.00

如何在输入中实时获得此行为?一旦用户输入,它就已经格式化了

谢谢


我需要正则表达式或代码,其中:

I类型-返回代码

1010 ===> 10.10
1000 ====> 10.00
1050 =====> 10.50
100050 ====> 1,000.50
您可以尝试创建如下“格式”函数:

function formatCurrency(currencyString) {   
    let firstHalf = currencyString.substring(0, currencyString.length - 2);
    let secondHalf = currencyString.substring(currencyString.length - 2, currencyString.length);
    return parseFloat(`${firstHalf}.${secondHalf}`).toLocaleString('en-EN', {style: 'currency', currency: 'USD'});
}

// example use case: 
let cur = formatCurrency('1010'); // returns: '$10.10'
cur = formatCurrency('101010') // returns: '$1,010.10'

通过这种方式,您将始终获得小数点右侧的最后两个字符(正如您尝试的那样),并使用本地化来正确设置数字格式。

欢迎使用SO!请添加您的最佳不工作尝试!因此,将其划分并格式化<代码>变量str='1010';log((Number(str)/100).tolocalString('de-de',{style:'currency',currency:'USD'}))返回代码1010==>10.10 1000===>10.00 1050===>10.50 100050===>1000.50对于您的需求,这个react包会工作得更好-。