c#中如何判断文本框中是不是是数字(包括小数)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#中如何判断文本框中是不是是数字(包括小数)相关的知识,希望对你有一定的参考价值。
如题、、(窗体内有一个文本框、一个按钮、要实现的功能是、如果输入的不是数字或小数就弹出信息框提示、主要是把小数加入判断、整数的已经知道如何实现、)希望有高手帮忙解答下、、如果可以的话、、可以加QQ传教、、谢谢了、、
楼上的方法可以,但是效率不高,另有2种方法: 1. float.TryParse; tryParse返回是否转换成功,是布尔型的返回值,如果返回false, 则表明可以被转换,true则表明字符串可以被转化为浮点型小数们也就是说输入的是小数。 2. 可以用正则表达式判断。具体到网上找,小数的正则很多。 参考技术A 反正都是用.NET FrameWork,你可以引用一下Microsoft.VisualBasic库,然后使用Information.IsNumeric ()直接判断就可以了,返回 bool值 参考技术B tryint num;
num = int.Parse(textBox1.Text.Trim());
catch
try
float num = float.Parse(textBox1.Text.Trim());
catch
MessageBox.Show("输入类型错误!");
这个是比较直观的方法,希望对你有用。
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#中如何判断文本框中是不是是数字(包括小数)的主要内容,如果未能解决你的问题,请参考以下文章