怎样判断输入的数是整数
我定义一个整形变量a,想将一个整数100赋值给a,但是用户输入100.5,我也发现不了。想问怎么判断用户输入的是不是整数。这个,昨天我查了下。百度有答案。
#include"stdio.h"
void main()
{
char s;
int i;
gets(s);
for(i=0;s;i++)
if(s=='.')
{
printf("Yes!"); //Yes表示含小数点。
return ;
}
printf("No!"); //No表示不含小数点。
return ;
} 胡八一 发表于 2013-12-16 12:33 static/image/common/back.gif
这个,昨天我查了下。百度有答案。
#include"stdio.h"
void main()
这个不是输入整数的吧 菜鸟来看看 。
这是一条小尾巴,不要在意它,它只是来水经验的。。。。 这个我有研究::big 主修java,所以只能这样了,理解意思哈
1.使用Character.isDigit(char)判断
String str = "123abc";
if (!"".equals(str)) {
char num[] = str.toCharArray();//把字符串转换为字符数组
StringBuffer title = new StringBuffer();//使用StringBuffer类,把非数字放到title中
StringBuffer hire = new StringBuffer();//把数字放到hire中
for (int i = 0; i < num.length; i++) {
// 判断输入的数字是否为数字还是字符
if (Character.isDigit(num)) {把字符串转换为字符,再调用Character.isDigit(char)方法判断是否是数字,是返回True,否则False
hire.append(num);// 如果输入的是数字,把它赋给hire
} else {
title.append(num);// 如果输入的是字符,把它赋给title
}
}
2.使用类型转换判断
try {
String str="123abc";
int num=Integer.valueOf(str);//把字符串强制转换为数字
return true;//如果是数字,返回True
} catch (Exception e) {
return false;//如果抛出异常,返回False
}
3.使用正则表达式判断
String str = "";
boolean isNum = str.matches("+");
//+表示1个或多个(如"3"或"225"),*表示0个或多个(*)(如""或"1"或"22"),?表示0个或1个(?)(如""或"7")
4.使用Pattern类和Matcher
String str = "123";
Pattern pattern = Pattern.compile("+");
Matcher matcher = pattern.matcher((CharSequence) str);
boolean result = matcher.matches();
if (result) {
System.out.println("true");
} else {
System.out.println("false");
} 胡八一 发表于 2013-12-16 12:33 static/image/common/back.gif
这个,昨天我查了下。百度有答案。
#include"stdio.h"
void main()
貌似有点道理 青剑 发表于 2013-12-16 17:54 static/image/common/back.gif
这个我有研究: 主修java,所以只能这样了,理解意思哈
1.使用Character.isDigit(char)判断
不是很懂啊 本帖最后由 dt3tc 于 2013-12-18 21:24 编辑
看这样怎么样#include <stdio.h>
int main()
{
long int a;
double b;
printf("请输入值:");
scanf("%lf",&b);
a=b;
if(a>b){
printf("用户输入为小数");
}
else if(a<b){
printf("用户输入为小数");
}
else{
printf("用户输入为整数");
}
return 0;
}
dt3tc 发表于 2013-12-16 21:56 static/image/common/back.gif
看这样怎么样
{:7_157:}这个不错,昨天我也有想过用double来写。但是我也是个新手,死活测试了几次都不行。就跑去百度找答案了。这下子学习了。
不过讲真心话,希望你别太介意。
编码不太规范,太紧凑了。 胡八一 发表于 2013-12-17 04:42 static/image/common/back.gif
这个不错,昨天我也有想过用double来写。但是我也是个新手,死活测试了几次都不行。就跑去百度找 ...
现在怎么样 dt3tc 发表于 2013-12-16 21:56 static/image/common/back.gif
看这样怎么样
不错,我用上了。谢谢 alac 发表于 2013-12-16 20:47 static/image/common/back.gif
不是很懂啊
我大概理解错了
我理解成判断用户输入是否是数字了。
不过更深一步讲,如果用户输入的是字符,如'a',或字符串"abc."。他们写的程序就判断错误了。
lz可以测试下。 青剑 发表于 2013-12-17 20:33 static/image/common/back.gif
我大概理解错了
我理解成判断用户输入是否是数字了。
不过更深一步讲,如果用户输入的是字符,如'a',或 ...
是啊。怎样解决字符的问题?
感谢楼主无私奉献! 感谢楼主无私奉献!
页:
[1]