`
houchangxi
  • 浏览: 64660 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java中判断字符串是否为数字的方法

阅读更多

java中判断字符串是否为数字的方法:

1.用JAVA自带的函数
public static boolean isNumeric(String str){
for (int i = 0; i < str.length(); i++){
   System.out.println(str.charAt(i));
   if (!Character.isDigit(str.charAt(i))){
    return false;
   }
}
return true;
}

2.用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
public boolean isNumeric(String str){
   Pattern pattern = Pattern.compile("[0-9]*");
   Matcher isNum = pattern.matcher(str);
   if( !isNum.matches() ){
       return false;
   }
   return true;
}

3.使用org.apache.commons.lang
org.apache.commons.lang.StringUtils;
boolean isNunicodeDigits=StringUtils.isNumeric("aaa123456789");
http://jakarta.apache.org/commons/lang/api-release/index.html 下面的解释:
isNumeric
public static boolean isNumeric(String str)Checks if the String contains only unicode digits. A decimal point is not a unicode digit and returns false.
null will return false. An empty String ("") will return true.
StringUtils.isNumeric(null)   = false
StringUtils.isNumeric("")     = true
StringUtils.isNumeric(" ")   = false
StringUtils.isNumeric("123") = true
StringUtils.isNumeric("12 3") = false
StringUtils.isNumeric("ab2c") = false
StringUtils.isNumeric("12-3") = false
StringUtils.isNumeric("12.3") = false

Parameters:
str - the String to check, may be null
Returns:
true if only contains digits, and is non-null

上面三种方式中,第二种方式比较灵活。

第一、三种方式只能校验不含负号“-”的数字,即输入一个负数-199,输出结果将是false;

而第二方式则可以通过修改正则表达式实现校验负数,将正则表达式修改为“^-?[0-9]+”即可,修改为“-?[0-9]+.?[0-9]+”即可匹配所有数字。

如果我输入的是"a“,它能识别出来这个不是数字,该怎么写?

import java.io.* ;
import java.util.* ;
public class Test{
public static void main(String [] args) throws Exception{
System.out.println("请输入数字:");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
   String line=br.readLine();

    if(line.matches("\\d+"))     //正则表达式 详细见java.util.regex 类 Pattern
   System.out.println("数字");
   else
   System.out.println("非数字");
}
}

("\d")是数字0-9 ("\\d+")是什么意思?

正则表达式用两个斜杠表示一个斜杠,后面跟着一个加号表示出现一次或多次,完整的意思就是整个字符串中仅包含一个或多个数字。


本文来自:http://blog.csdn.net/jojoy_828/archive/2008/08/27/2837784.aspx

分享到:
评论

相关推荐

    判断字符串是否为数字

    以上介绍了四种判断字符串是否为数字的方法,包括逐字符检查、使用正则表达式、利用 `String.matches()` 方法以及基于 ASCII 值的比较。每种方法都有其适用场景和特点,开发者可以根据具体需求选择最合适的方式。...

    JAVA判断字符串是否为数字字符

    ### JAVA判断字符串是否为数字字符 在日常的Java开发工作中,我们经常需要验证用户输入的数据是否符合预期格式,比如验证电话号码、身份证号等是否仅包含数字。这种情况下,一个简单有效的工具方法就显得尤为重要了...

    java判断字符串是否递增递减或重复

    java判断字符串是否存在递增或递减 java判断字符串是否重复

    判断字符串是否只有数字

    ### 知识点详解 #### 一、字符串与数字判断 ...总之,判断字符串是否只包含数字是一项基本而重要的任务,在多种编程场景中都有广泛应用。理解并掌握本文所述的方法和技术,将有助于开发者更高效地完成相关工作。

    Java 正则表达式判断字符串是否包含中文

    ### Java正则表达式判断字符串是否包含中文 在日常的软件开发过程中,我们经常会遇到需要对输入的字符串进行校验的情况。例如,在处理用户输入、文本分析或数据清洗时,可能需要判断一个字符串中是否包含中文字符。...

    java验证字符串是否符合json格式

    在Java编程中,验证字符串是否符合JSON(JavaScript Object Notation)格式是一项常见的任务,尤其是在进行前后端数据交互时。JSON是一种轻量级的数据交换格式,它允许数据以键值对的形式存储,易于人阅读和编写,...

    判断一个字符串或字符串中的一个字符是否为数字类型

    在编程领域,判断一个字符串或字符串中的一个字符是否为数字类型是常见的...综上所述,判断字符串或字符是否为数字类型,可以依据具体编程语言选择合适的方法,同时要注意处理潜在的安全风险,确保程序的稳定性和效率。

    判断字符串是否全部是数字.txt

    判断字符串是否全部是数字.txt

    java判断一个字符串是否是小数的方法

    在上面的代码中,我们首先使用 StringUtils.isBlank() 方法来判断字符串是否为空或长度为 0 或由空白符构成。如果字符串为空或长度为 0 或由空白符构成,返回 false。否则,我们使用 matches() 方法来判断字符串是否...

    Java判断字符串是否为IP地址的方法

    Java判断字符串是否为IP地址的方法 Java判断字符串是否为IP地址的方法是指通过编写特定的方法来判断输入的字符串是否符合IP地址的格式。这种方法在实际开发中非常有用,特别是在网络编程和网络安全等领域。 在Java...

    android 判断字符串是否是日期格式

    总结来说,判断字符串是否是日期格式主要涉及`SimpleDateFormat`、`DateTimeFormatter`和正则表达式。选择哪种方法取决于项目需求、兼容性及代码的可读性和维护性。在实际编程中,应结合具体情况灵活选用。

    java判断字符串是否为数字的方法小结

    我们可以通过遍历字符串,检查每个字符的ASCII码值是否在这个范围内来判断字符串是否全为数字。下面是具体实现: ```java public static boolean isNumeric(String str) { for (int i = str.length(); --i &gt;= 0;) ...

    详解Java判断是否是整数,小数或实数的正则表达式

    文章中提到,使用`Double.parseDouble()`方法抛出异常的方式来判断字符串是否为数字是有局限性的。这种方法不能准确区分正负整数、小数和实数,且捕获异常的效率较低。因此,采用正则表达式是更为合适的选择。 ### ...

    java验证字符串是否是数字

    通过捕获这个异常,我们可以很容易地判断字符串是否仅由数字组成。 #### 性能考虑 - **正则表达式方法**:适用于需要多次使用的场景,尤其是在多个地方都需要验证字符串是否为数字的情况下。预编译正则表达式可以...

    Java判断字符串中是否包含中文方法

    首先,了解Unicode编码对于掌握判断字符串中是否包含中文的方法至关重要。Unicode为世界上几乎所有的字符都提供了唯一的编码。对于中文字符,Unicode定义了从\u4e00到\u9fa5范围内的字符集,这个范围覆盖了大部分...

    java基础-给出一个随机字符串,判断有多少字母?多少数字?

    在Java中,我们可以使用多种方法来判断字符串中的字母和数字。例如,我们可以使用正则表达式来匹配字母和数字,但是这种方法相对复杂些。我们也可以使用Java中的Character类来判断字符的类型,但是这种方法需要了解...

    Java判断字符串是否含有乱码实例代码

    在Java中判断字符串是否含有乱码是一个常见的问题,特别是在处理网络传输数据或文本文件导入导出时。本文将介绍通过实例代码如何判断一个字符串是否含有乱码,并通过编写的Java方法来实现此功能。 首先,我们需要...

    java字符串类型数字设置千分位分隔

    1. 判断字符串是否可以转换为数字。 2. 使用`DecimalFormat`实例,设置适当的模式(如`#,###.###`)。 3. 调用`format()`方法将数字转换为包含千分位分隔符的字符串。 注意,`DecimalFormat`和`NumberFormat`类在...

    判断字符串格式的时间

    其中,`IsMatch` 方法用于判断指定的字符串是否与正则表达式匹配。 #### 2. IsMatch 方法详解 在提供的代码示例中,使用了 `IsMatch` 方法来进行字符串格式验证。具体代码如下: ```csharp public int IsDate...

    Java判断字符串是不是数字过程解析

    本文将深入解析Java中如何判断字符串是否为数字的方法,以及存在的问题和解决方案。 首先,我们可以从简单的基础开始,即判断字符串是否为空或null。在Java中,一个空字符串("")和null值显然不是数字。因此,我们...

Global site tag (gtag.js) - Google Analytics