Java用逗号或点和两位小数值验证价格

lor*_*105 2 java regex

什么是验证字符串的最佳方法和解决方案,该字符串必须用点或逗号表示价格值并且最多有两个小数值?

RegExp,java.text.DecimalFormat还是其他什么东西?

接受这些值:

1
11

1,05
2,5

1.05
2.5
Run Code Online (Sandbox Code Playgroud)

我看到了这些解决方案,但这些并不是我想要的:

java decimal字符串格式

在jtextfield中对'价格'进行评估

我也尝试这个RegExp,/^(\\d+(?:[\\.\\,]\\d{2})?)$/但它不起作用.

Ada*_*zyk 17

使用此正则表达式:

final String regExp = "[0-9]+([,.][0-9]{1,2})?";
Run Code Online (Sandbox Code Playgroud)

它匹配一个或多个数字,后跟可选:逗号或句号,后跟1或2位数.

在Java中,您可以使用:

测试.

  • 整个正则表达式没有意义. (3认同)