public static void main(String[] args) { String aa = "5632.2"; //小数点前后是数字即可,无小数点后数据也ok System.out.println(aa.matches("^[-\\+]?[.\\d]*$")); //区别控制小数点后两位,无小数点后数据也ok System.out.println(aa.matches("^-?([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$")); }
测试:我这里用的是第一个并且把负号去掉了