这段千分位正则,碰到两位单位,会出现bug请问
100就加了千分位
想要1000加千分位
我用¥就正常
<a-input-number :formatter="value => `${record.options.currency === '美元' ? '$':record.options.currency === '人民币' ? '¥':'NT'}${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')"" />
回答:
匹配一个数字:(\d)
它后面有1组或多组连续的三个数字,且这n组之后跟着的不是数字:(?=(\d{3})+(?!\d))
且这个数字并不在小数点后:(?<!.\d+)
'NT100.000000000'.replace(/(?<!\.\d+)(\d)(?=(\d{3})+(?!\d))/g,'$1,')
回答:
看代码单位是根据其他参数自己设定的,${value}
才是需要处理的数字部分吧,只对数字部分进行正则逗号处理,而不是对整体的进行处理,最简单,改动也少。
符号部分不变,替换只处理数字部分。
对整体怎么处理,已经有小伙伴回答了,这边就不赘述了。
`${record.options.currency === '美元' ? '$':record.options.currency === '人民币' ? '¥':'NT'}${value.replace(/\B(?=(\d{3})+(?!\d))/g, ',')}`
以上是 这段千分位正则,碰到两位单位,会出现bug请问 的全部内容, 来源链接: utcz.com/p/936817.html