c判断是不是为数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c判断是不是为数字相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
#include <string.h>
void main()

int a,i;
char str[100];
scanf("%s",str);
a=strlen(str);
for(i=0;i<a;i++)
if (str[i]>'9' || str[i]<'0')

printf("不是数字");
break;


if (i==a)
printf("是数字");


先定义字符串str[100](这里也可以用指针),a是求这个字符串长度,下面就是一个循环,判断每一个字符是否是数字,只要有一个不是数字,立马跳出循环,说明不是数字;如果所有的字符判断完都是数字,那就是数字了。
参考技术A 可以用isdigt函数判断,比如一个变量为a,isdigt(a)返回值是0说明是数字,否则不是数字。自己写的话需要将a的每一位都拆分,然后判断每一位是否是在0~9之间 参考技术B 判读一个字符c是否为数字:
void func(char c)

if((c>=48)&&(c=<57))
printf("%c is num\n",c);
else
printf("%c not is num\n",c);

多个字符p是否是数字字符:
void func(char *p)

while(*p!='\0')

if((*p>57)||(*p<48))

printf("%s not is num string \n",p);
return 1;

p++;

printf("%s is num string \n",p);
return 0;
参考技术C if(c >= 0 && c <=9)
printf("c 是数字\n");
else
printf("c 不是数字\n");

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判断是不是为数字的主要内容,如果未能解决你的问题,请参考以下文章

c语言判断输入的是不是是数字(不止一位)

c++判断输入的是不是为数字?

急,急,急!!!!C语言判断输入的两个操作数数是不是是数字。(可以为负数),望高手赐教,不胜感激!!!

C语言,怎么判定,是否数字?

C#怎么判断输入内容是不是为数字

awk 如何判断一个字符串是不是为纯数字?