c语言 怎么判断输入的是否数字?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 怎么判断输入的是否数字?相关的知识,希望对你有一定的参考价值。
scanf("%d",&h);之后有没有办法实现 如果输入的不是数字 就提示错误 如果是数字 就继续下面的运算?
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始的.cpp文件,例如:test.cpp。
2、其次,在test.cpp文件中,输入C语言代码:char a = getchar(); getchar();
if (a <= '9' && a >= '0') printf("数字");else printf("字母");
3、然后,编译器运行test.cpp文件,输入数字,此时会成功判断输入内容为数字。
4、最后,输入字母,此时成功判断了输入内容为字母。
参考技术A 你的意思是输入的如果不是数字,就提示输入不对,然后接着之前的重新输入吗? 参考技术B String.h里面包含 isdigit();就是你要找的函数 参考技术C IsNumeric函数是判断是不是数字的 是数字返回TRUE 参考技术D int isnum,h;do{
isnum=scanf(”%d”,&h);
if(isnum!=1)
printf(”请输入数字”);
while(isnum==1);
C#怎么判断输入内容是不是为数字
方案一:Try...Catch(执行效率不高)///
/// 名称:IsNumberic
/// 功能:判断输入的是否是数字
/// 参数:string oText:源文本
/// 返回值: bool true:是 false:否
///
///
///
private bool IsNumberic(string oText)
try
int var1=Convert.ToInt32 (oText);
return true;
catch
return false;
方案二:正则表达式(推荐)
a)
using System;
using System.Text.RegularExpressions;
public bool IsNumber(String strNumber)
Regex objNotNumberPattern=new Regex("[^0-9.-]");
Regex objTwoDotPattern=new Regex("[0-9]*[.][0-9]*[.][0-9]*");
Regex objTwoMinusPattern=new Regex("[0-9]*[-][0-9]*[-][0-9]*");
String strValidRealPattern="^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";
String strValidIntegerPattern="^([-]|[0-9])[0-9]*$";
Regex objNumberPattern =new Regex("(" + strValidRealPattern +")|(" + strValidIntegerPattern + ")");
return !objNotNumberPattern.IsMatch(strNumber) &&
!objTwoDotPattern.IsMatch(strNumber) &&
!objTwoMinusPattern.IsMatch(strNumber) &&
objNumberPattern.IsMatch(strNumber);
b)
public static bool IsNumeric(string value)
return Regex.IsMatch(value, @"^[+-]?\\d*[.]?\\d*$");
public static bool IsInt(string value)
return Regex.IsMatch(value, @"^[+-]?\\d*$");
public static bool IsUnsign(string value)
return Regex.IsMatch(value, @"^\\d*[.]?\\d*$");
参考技术A 判断是不是数据,要不是就表示没有选择,则从隐藏域里读出来
以上是关于c语言 怎么判断输入的是否数字?的主要内容,如果未能解决你的问题,请参考以下文章