java 在jsp界面写一个正则表达式判断1个string类型值是否为数字。带小数点后两位

 我来答
鸿渺shadow
推荐于2016-10-14 · TA获得超过196个赞
知道小有建树答主
回答量:108
采纳率:100%
帮助的人:79.4万
展开全部
^[-]?[0-9]+(\\.[0-9]{1,2})?$
^字符串头
[-]?最多一个负号
[0-9]+至少一个数字
(\\.[0-9]{1,2})?如果有小数点,那么小数点后面最少1位最多2位
$字符串结尾
该正则有两个BUG:
如果匹配123.0这样的小数也会正确
如果匹配0123.45这样的也会正确
不是要求特别严格的话应该没有影响。

楼下的^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$
同样有上述2个BUG,并且没有限制小数点后最多2位,将后两个+改成{1,2}就可以限制为小数点后两位了,同理如果你不需要限制小数点后面的个数,将{1,2}改成+就可以。
kingofsong
2013-07-24 · TA获得超过168个赞
知道小有建树答主
回答量:230
采纳率:100%
帮助的人:85.5万
展开全部
JS中有一个isnan的东西,就是用来判断是不是数字的啊,直接用就好了嘛
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shouhuang211
2013-07-24 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:101万
展开全部
\d+\.\d{2}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wudixiaochen00
2013-07-24 · TA获得超过2095个赞
知道小有建树答主
回答量:751
采纳率:100%
帮助的人:400万
展开全部
public static boolean isNum(String str){
return str.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$");
}

调用就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式