黑马程序员技术交流社区
标题: 次方该怎么表达呢?纠结中...? [打印本页]
作者: qly2046 时间: 2013-12-16 19:54
标题: 次方该怎么表达呢?纠结中...?
本帖最后由 qly2046 于 2013-12-20 15:29 编辑
//判断一个字符串是不是身份证号码,即是否是15或18位数字
Console.WriteLine("请输入身份证号码?");
doubleID =Convert.ToInt32(Console.ReadLine());
if((ID == 1.0 * 1015) || (ID == 1.0 * 1018))
Console.WriteLine("号码正确!");
Console.WriteLine("程序结束!");
Console.ReadKey();
我这样写有哪里不对呢?
作者: 黄晓波 时间: 2013-12-16 20:06
转换成int32,超出范围了。。而且你前面定义的是double类型,这会有一次隐式类型转换。。
作者: qly2046 时间: 2013-12-16 20:09
如果不用convert.ToInt32,那么应该用什么类型的呢?
作者: qly2046 时间: 2013-12-19 11:06
哥们,我还是不太明白,请详细说明?谢谢了
作者: 如远行客 时间: 2013-12-19 11:57
本帖最后由 如远行客 于 2013-12-19 11:59 编辑
身份证号不应该用double或者int32类型,应该使用字符串类型,就像电话号码一样,用数字表示有什么意义呢??
用string类型,然后逐个字符检查,只要有一个字符不是数字就判断不是身份证号码
作者: 一席倾城 时间: 2013-12-19 12:03
身份证号码电话号码神马的统统的字符串。。。。
作者: qly2046 时间: 2013-12-19 14:07
要是这样说的话,我就明白了,我用的是double类型,所以会出错!
作者: 佘显郡 时间: 2013-12-19 17:14
验证的请用正则
- string str = Console.ReadLine();
- string patten = @"^(\d{15}|\d{18})$";
- Console.WriteLine(Regex.IsMatch(str,patten)?"输入正确":"输入不正确");
复制代码
作者: 雨中恋人 时间: 2013-12-19 17:35
我是初学都,一起学习
我没看明白你写的什么,但一眼看下去你的代码就写的不规范
1、定义变量要小写,你写的大写
2,if语句要跟一对大括号吧
3. 要加eles吧
就算你代码写对了也要按下面的写
Console.WriteLine("请输入身份证号码?");
int id =Convert.ToInt32(Console.ReadLine());
如果转double
int double=Convert.ToDouble(Console.ReadLine());
if((ID == 1.0 * 1015) || (ID == 1.0 * 1018))
{
Console.WriteLine("号码正确!");
}
eles
{
Console.WriteLine("程序结束!");
}
Console.ReadKey();
作者: V_John 时间: 2013-12-19 17:52
如果问题得到解决,请修改为已解决
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |