【问题标题】:Add comma before last two numbers and keep dots after three numbers最后两个数字前加逗号,三个数字后保留点
【发布时间】:2020-01-20 13:48:19
【问题描述】:

我有一个输入,它有一个格式化程序,可以在每三个数字之后添加一个点,但我需要在最后两个数字之前用逗号将它变成一个浮点数。现在,我的代码是这样的,但我不知道如何将逗号放在最后两位数字之前。

<InputNumber
    formatter={value => String(value).replace(/\D/g, '').split(/(?=(?:\d{3})*$)/g).join('.')}
    max={1000000}
    parser={value => String(value).replace(/\D/g, '')}
    style={{ width: '100%' }}
/>

例如输出是 2.000,但我需要它是 2.000,00

【问题讨论】:

    标签: javascript reactjs


    【解决方案1】:

    您可以使用浏览器的 Intl.NumberFormat API。 用于意大利和其他一些欧洲国家/地区的您想要的格式。

    例如new Intl.NumberFormat('IT', {minimumFractionDigits: 2}).format('100000')

    
    <InputNumber
        formatter={value => new Intl.NumberFormat('IT', {minimumFractionDigits: 2}).format(value)}
        max={1000000}
        parser={value => String(value).replace(/\D/g, '')}
        style={{ width: '100%' }}
    />
    

    【讨论】:

    • 这不起作用。每次我输入一个数字,它都会增加三个零
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    • 2021-06-05
    • 2021-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多