Integer.parseInt("1");捕获异常,如果有异常,就不是数字,否则就是。java.lang.NumberFormatException
解决方案 »
- 求助关于静态属性和方法的问题
- 求助,JDK配置始终不行
- 有人开发过基于P2P的网络电视软件吗?
- 有段c的程序,需要用java写,请熟悉c和java的高手帮忙,谢谢!
- 请问怎样用java调用可执行文件,如war3.exe,谢谢!
- 谁知道,ResultSet怎么序列化或转换成其他流方式进行传输
- JAVA如何进行数据库连接(sql2000)
- 问一个弱问题,JAVA API和JAVA类库有什么区别和联系?
- java文件如何编译成可执行文件(exe)
- 关于Access数据库连接的问题
- BUICK555(王飞)祝大家节日快乐!散分!
- MS说不在支持java了,那java将来还可不可以在windos下跑呀?
public class Test{
public static void main(String [] args) {
String alpha = "13中214,34.1b34";
for(int i=0;i<alpha.length();i++){
if (!Character.isDigit(alpha.charAt(i)))
System.out.println("字符串中存在非数字,是第"+(i+1)+"个字符");
}
}
}
try{
int x=Integer.getInteger(str).valueOf();
return x;
}catch(Exception e){
return "this is not a Integer";
}
二楼的肯定不行,即使字符串全是数字但是范围超出int的范围,同样会报错!改为long也一样,毕竟有范围限制的说
/**判断一个字符串是否为数值
*@param TxtData 类型(String)
*@return 返回值(boolean)
* (true:字符串为数值 false:字符串不为为数值)
*@exception
*@since 1.0
*/
//author by wjm
//*************************************************************************
public boolean IsNumeric(String TxtData) {
TxtData = TxtData.trim();
int vl = TxtData.length();
for(int i = 0; i < vl; i++) {
char c = TxtData.charAt(i);
if (!((c >= '0' && c <= '9')||c=='.')) {
return false;
}
}
return true;
}
我需要如何判断该字符串是否为一个整型
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~
不同意咖啡的说法。
只是判断str是否为整型
整型肯定是有范围的所以同意lifeiqhp(飞哥) 的做法,只是根据要求的范围
来用Integer或Long.
现在才发现这楼主的提问有问题:
主题是:如何判断一个字符串是不是全数字 …………我是根据这个来写的
内容是:我需要如何判断该字符串是否为一个整型吐血ing……
{
var checkOK = "0123456789";
var allValid = true;
var allNum = "";
for (i=0; i<checkStr.length; i++)
{ch = checkStr.charAt(i);
for (j=0; j<checkOK.length; j++)
if (ch == checkOK.charAt(j)) break;
if (j == checkOK.length)
{ allValid = false;
break;
}
allNum += ch;
}
if (!allValid) { return (false);}
return (true);
}
public boolean isRealNumber(String sourceString)
{
String S = sourceString.trim();
if(S == null || S.equals(""))
{
return false;
}
else
{
String S1 = "-0123456789.";
String S2 = "";
int count = 0;
if(S.length()==1)
{
if((S.equals("-"))||(S.equals(".")))
{
return false;
}
else
{
if(S1.indexOf(S)<0)
{
return false;
}
else
{
return true;
}
}
}
else
{
if((containNumber(S,"-")>1)||(containNumber(S,".")>1))
{
return false;
}
else
{
if(S.substring(S.length()-1, S.length()).equals("."))
{
return false;
}
else if((S.indexOf(".")==0)||(S.indexOf("-")>0))
{
return false;
}
else if(S.indexOf("-")==0)
{
if(S.indexOf(".")==1)
{
return false;
}
else
{
return true;
}
}
else
{
for(int i=0; i<S.length();i++)
{
S2 = S.substring(i,i+1);
if(S1.indexOf(S2)<0)
{
return false;
}
}
return true;
}
}
}
}
}
int INT_FULL_LENGTH = 9;int divide = (int)str.length/INT_FULL_LENGTH;
if(divide*INT_FULL_LENGTH != str.length){
divide ++;
}var tempstr = "";
for(int i=0;i<divide ;i++)
if(i == divide){
tempstr = str.substring(i*INT_FULL_LENGTH ,str.length)
}else{
tempstr = str.substring(i*INT_FULL_LENGTH ,(i+1)*INT_FULL_LENGTH)
}
try{
int x=Integer.getInteger(tempstr).valueOf();
return true;
}catch(Exception e){
return false;
}
}
}
String str="12345634567567899999999999999524323423423425234234";boolean isDigital(String str){
int INT_FULL_LENGTH = 9;int divide = (int)str.length/INT_FULL_LENGTH;
if(divide*INT_FULL_LENGTH != str.length){
divide ++;
}var tempstr = "";
for(int i=0;i<divide ;i++)
if(i == divide){
tempstr = str.substring(i*INT_FULL_LENGTH ,str.length)
}else{
tempstr = str.substring(i*INT_FULL_LENGTH ,(i+1)*INT_FULL_LENGTH)
}
try{
int x=Integer.getInteger(tempstr).valueOf();
//return true; }catch(Exception e){
return false;
}
return true;}
}
int INT_FULL_LENGTH = 9;int divide = (int)str.length/INT_FULL_LENGTH;
if(divide*INT_FULL_LENGTH != str.length){
divide ++;
}var tempstr = "";
for(int i=0;i<divide ;i++)
if(i == divide){
tempstr = str.substring(i*INT_FULL_LENGTH ,str.length)
}else{
tempstr = str.substring(i*INT_FULL_LENGTH ,(i+1)*INT_FULL_LENGTH)
}
try{
int x=Integer.getInteger(tempstr).valueOf();
//return true; }catch(Exception e){
return false;
}
}
return true;
}
用正则表达式是最好不过的了
那位大虾知道如何在java中使用正则表达式
或如何使用perlRegExp模块
请指点小弟一二 多谢 多谢
[email protected]
如何用?请指教
能给个例子吗?
多谢!!
public class isInt{
public static void main(String[] args){
Pattern p = Pattern.compile("(-?[0-9]+|[0-9]*)?");
String str = " 123456789 ";
Matcher m = p.matcher(str.trim());
if(m.matches()){
System.out.println("ok");
}else{
System.out.println("no");
}
}
}
import java.util.regex.*;
public class isChinese{
public static void main(String[] args){
Pattern p = Pattern.compile("[\u4E00-\u9FA5]");
Matcher m;
String str = "It's 汉字";
int len = 0;
for(int i=0; i<str.length(); i++){
System.out.print(str.charAt(i)+": ");
String s = str.charAt(i)+"";
m = p.matcher(s);
if(m.find()){
System.out.println("汉字");
len+=2;
}else{
System.out.println("非汉字");
len++;
}
}
System.out.println("length: "+len);// 长度
}
}
try
{
int x=Integer.getInteger(str).valueOf();
return "Yes";
}catch(Exception e){
return "NO";
}
管它是整数还是浮点数
用java的类型转换很容易的从捕获异常来判断
这是聪明的懒人做法
那换了别的呢,判断输入字符是合法的E'mail地址呢
那来的异常让你捕获?
总不能笨笨的一个一个字符地charAt()来判断吧
烦琐又容易出错
用正则表达式简单省事,何乐而不为呢?