如何用正则表达式判断一个数字是整数、小数还是实数?
- 内容介绍
- 相关推荐
本文共计465个文字,预计阅读时间需要2分钟。
经常遇到需要判断一个字符串是否为合法的数字的情况,需要判断这个字符串是否是完全由数字组成的,包括整数、小数或实数。网上有很多文章讨论如何判断字符串是否全部为数字,例如以下这段来自StringUtils的代码示例:
经常会遇到这样的情况,需要判断一个字符串是否是一个合法的数,包括整数,小数或者实数。
网上查到很多文章大多是判断这个字符串是否全为数字,比如下面这段来自StringUtils的代码,可以看到,13.2这样的数字实际上会返回false,可是,他的确是一个数字。
public static boolean isNumeric(String str) { if (str == null) { return false; } int sz = str.length(); for (int i = 0; i < sz; i++) { if (Character.isDigit(str.charAt(i)) == false) { return false; } } return true; }
当然,网上还能查到很多其他方式,诸如用正则表达式判断是否0-9,用字符ascii码判断是否是数字以及用Double.parseDouble()是否抛出异常来判断是否为数字。
本文共计465个文字,预计阅读时间需要2分钟。
经常遇到需要判断一个字符串是否为合法的数字的情况,需要判断这个字符串是否是完全由数字组成的,包括整数、小数或实数。网上有很多文章讨论如何判断字符串是否全部为数字,例如以下这段来自StringUtils的代码示例:
经常会遇到这样的情况,需要判断一个字符串是否是一个合法的数,包括整数,小数或者实数。
网上查到很多文章大多是判断这个字符串是否全为数字,比如下面这段来自StringUtils的代码,可以看到,13.2这样的数字实际上会返回false,可是,他的确是一个数字。
public static boolean isNumeric(String str) { if (str == null) { return false; } int sz = str.length(); for (int i = 0; i < sz; i++) { if (Character.isDigit(str.charAt(i)) == false) { return false; } } return true; }
当然,网上还能查到很多其他方式,诸如用正则表达式判断是否0-9,用字符ascii码判断是否是数字以及用Double.parseDouble()是否抛出异常来判断是否为数字。

