java使用正则表达为数字添加千位符的简单方法

"260000008".replaceAll("(?<=\\d)(?=(?:\\d{3})+$)", ",");

// => 260,000,008

(?<=\\d)(?=(\\d{3})+(\\.|$))

正则表达式:

  1. (?<=\d)(?<!\.\d*)(?=(\d{3})+(\.|$))

替换为:,

我们拆开来看看:

 
  1. (?<=\d) #当前位置前面必须是数字
  2. (?<!\.\d*) #当前位置前面不能是小数点
  3. (?=(\d{3})+(\.|$)) #当前位置是3个数字的循环,最后到小数点或结束

对照一串数字我们就不难发现,上面指定的当前位置,就是千分位所在位置,如:

 
  1. 345,678
  2. 12,345,678.12345
  3. 2,345,678
posted @ 2019-03-08 11:17  先锋之客  阅读(2355)  评论(0编辑  收藏  举报