日期:2014-05-17  浏览次数:20716 次

java中的正则表达式问题
求解:java中如何用正则表达式去判断一个字符串是否是数字,或小数(且小数点后只能保留两位小数)

------解决方案--------------------
// text参数是否为一个数字,保括小数保留2位
public static boolean isNumeric(String text)
{
return matches(text, "^[-]?\\d*.[\\d]{2}$");
}
------解决方案--------------------
Java code
String s = "123.45";
if (s.matches("[+-]?\\d+([.]\\d{2})")) {
    System.out.println("ok");
} else {
    System.out.println("error");
}

------解决方案--------------------
探讨

Java code
String s = "123.45";
if (s.matches("[+-]?\\d+([.]\\d{2})")) {
System.out.println("ok");
} else {
System.out.println("error");
}

------解决方案--------------------
借鉴2楼的,稍作了些修改:
Java code

String s = "123.45";
if (s.matches("-?\\d+([.]\\d{2})?")) {
    System.out.println("ok");
} else {
    System.out.println("error");
}

------解决方案--------------------
if(price.matches("/(^[0-9]*$)|(^[0-9]*[.]{1}[0-9]{1,2}$)/")
{
msg="OK:
}
------解决方案--------------------
探讨

if(price.matches("/(^[0-9]*$)|(^[0-9]*[.]{1}[0-9]{1,2}$)/")
{
msg="OK";
}