日期:2014-05-20  浏览次数:20717 次

新手对于用正则表达式给数字每三位加逗号的疑问
package Demo.src.CommonClassTest;
public class RegExTest {

public static void main(String[] args) {
String str = "123456789.987654321";
String str2 = "123456789";
System.out.println(str.replaceAll("(?<=\\d)(?=(\\d{3})+[.])", ","));
System.out.println(str2.replaceAll("(?<=\\d)(?=(\\d{3})+$)", ","));
}

}

一个是整数一个是带小数点的小数,是不是可以把两个正则表达式合成一个,不管是小数还是整数都可以做到整数部分加逗号,小数部分不加逗号,谢谢
------解决方案--------------------
可以从.号分开,然后前一个用String.format("%,.0f", Double.parseDouble(str))然后拼上.后面的就行了