【发布时间】:2013-07-22 05:02:12
【问题描述】:
验证必须用点或逗号表示价格值且最多包含两个十进制值的字符串的最佳方法和解决方案是什么?
RegExp、java.text.DecimalFormat 还是别的什么?
这些值被接受:
1
11
1,05
2,5
1.05
2.5
我看到了这些解决方案,但这些并不是我想要的:
valdating a 'price' in a jtextfield
我也尝试了这个 RegExp /^(\\d+(?:[\\.\\,]\\d{2})?)$/,但它不起作用。
【问题讨论】:
-
我的建议是使用正则表达式,尤其是您期望的特定格式
-
正则表达式可以帮到你。
-
^[0-9]+(\.[0-9]+)?$ 必须使用它(添加逗号的条件
-
你已经接近了,你不需要转义字符类中的字符,除了中间的连字符。试试
/^\\d+(?:[.,]\\d{2})?$/