C#中如何判断输入的文本为纯数字

 我来答
劍指長空明德
推荐于2019-08-17 · TA获得超过1.5万个赞
知道答主
回答量:47
采纳率:100%
帮助的人:2万
展开全部

方案一:采用ASCII码判断

//如果是纯数字还可以采用ASCII码进行判断

/// <summary>  

/// 判断是否是数字  

/// </summary>  

/// <param name="str">字符串</param>  

/// <returns>bool</returns>  

public bool IsNumeric(string str)  

{

if (str == null || str.Length == 0)

return false;

System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding();

byte[] bytestr = ascii.GetBytes(str);

foreach (byte c in bytestr)

{

if (c < 48 || c > 57)

{

return false;

}

}

return true;

}

方案二:采用正则表达式

//引用正则表达式类
using   System.Text.RegularExpressions;
Regex   reg=new   Regex("^[0-9]+$");
Match   ma=reg.Match(text);
if(ma.Success)
{
//是数字
}
else
{
//不是数字
}
注:此方法快捷,但不太容易掌握,尤其是正则表达式公式,如果有兴趣的朋友可以好好研究,这东西很好用的,建议使用。 

方案三:新建一个类

using System;

using System.Collections.Generic;

using System.Text.RegularExpressions;

namespace LBC.Number

{

/// <summary>

/// 数字判断的类

/// </summary>

public class NumberClass

{

/// <summary>

/// 判断是否是数字

/// </summary>

/// <param name="strNumber">要判断的字符串</param>

/// <returns></returns>

public static 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]+___FCKpd___0quot;;

String strValidIntegerPattern = "^([-]|[0-9])[0-9]*___FCKpd___0quot;;

Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")");

return !objNotNumberPattern.IsMatch(strNumber) &&

!objTwoDotPattern.IsMatch(strNumber) &&

!objTwoMinusPattern.IsMatch(strNumber) &&

objNumberPattern.IsMatch(strNumber);

}

/// <summary>

/// 判断是否是int类型

/// </summary>

/// <param name="Value">要判断的字符串</param>

/// <returns></returns>

public static bool IsInt(string Value)

{

return Regex.IsMatch(Value, @"^[+-]?/d*___FCKpd___0quot;);

}

/// <summary>

/// 判断是否是数字

/// </summary>

/// <param name="Value">要判断的字符串</param>

/// <returns></returns>

public static bool IsNumeric(string Value)

{

return Regex.IsMatch(Value, @"^[+-]?/d*[.]?/d*___FCKpd___0quot;);

}

}

}

拓展资料

关于C#

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似。

它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。

C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

参考链接  百度百科 C#



本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
胤晟颸綦恪
2012-05-23 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:82.9万
展开全部
验证控件好点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式