繁体   English   中英

在 java 如何检查输入的第一个值是否为数字?

[英]In java How do I check that the first value of a input is a number?

我需要向用户询问一个带字母的数字,但第一个值必须是一个数字,我该如何返回 true 呢?

if(SerieNumber.charAt(0) == )

我不知道要在那里添加什么

tl;博士

Character.isDigit( myString.codePointAt( 0 ) ) 

避免char

自 Java 2 以来, char类型一直是遗留的。作为 16 位值, char在物理上无法表示大多数字符。

代码点

而是使用代码点integer 数字。

int codePoint = myString.codePointAt( 0 ) ;  // Annoying zero-based index counting. So zero for first character. 

测试该代码点是否分配给根据 Unicode 联盟被视为数字的字符。

boolean isDigit = Character.isDigit( codePoint ) ;

使用正则表达式:

if (SerieNumber.matches("\\d.*")) {
    // first char is a digit
}

如果您需要允许来自任何语言的数字,请添加 unicode 标志:

if (SerieNumber.matches("(?U)\\d.*")) {
    // first char is a digit from any character set, eg 9, 九, 구, etc
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM