'1,000,000.00'
'1.000.000,00'
背景:有一些国家小数点和千分位使用习惯与我们相反
如果用字符串 replace 怎么替换呢?
来个花里胡哨的,哈哈 😎
'1,000,000.00'.replace(/([.,])/g, v => ',.'[+(v === ',')])
// 1.000.000,00
'1.000.000,00'.replace(/([.,])/g, v => ',.'[+(v === ',')])
//'1,000,000.00'
先拆分,正则替换,再合并
var arr = '1,000.00'.split('.').map(item=>{
return item.replace(/\,/g, '.')
})
console.log(arr.join(',')) -> '1.000,00'
别逗楼主了,还是好好答一下吧。
你必须有一个机制来识别用户是用的哪种方式(比如选择自己的母语),这就是为什么需要intl这种东西的原因。字符转换本身不是问题,而是你怎么知道1.005和1,005到底是多少呢?
嗯,应该说不存在字符替换的问题的,因为数据存储的时候一定是无格式的数字,只是根据用户的设置显示为哪种形式而已。
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答4.9k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决