一个string 类型的数据,如何判断它可以转换成int类型? 一个string 类型的数据,如何判断它可以转换成int类型?比如string str="135"可以转换成整型,但是string str="16gdfv4"就不能转换成整型 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sorry,错的tryInt32.Parse转换,不能抛出异常 那就挨个挨个看该字符串中的每一个char是不是数字呗.如果楼上说的方法不行的话. bool IsInt(string input) { for (int i = 0; i < input.Length; i++) { if (!char.IsNumber(input, i)) return false; } return true; } bool ret;int myNumber;try { myNumber = Convert.ToInt32(str); ret = true; }catch{ ret = false;} 用正则表达式先判断一下这个是用来表示所以 数值 类型的。 包括了浮点数bool isNumber(string str) { Regex reg = new Regex(@"^\d+([.]\d+)?$"); return reg.Match(str).Success; } 和xinyangt(信仰t)的方法一样----------try { myNumber = Convert.ToInt32(str); ret = true; }catch{ ret = false;} 判断是否是整形:bool IsInt(string input) { for (int i = 0; i < input.Length; i++) { if (!char.IsNumber(input, i)) return false; } return true; }再Int32.Parse转换~ 可以使用 Int32.TryParse 方法(.Net 2.0 中):Int32.TryParse 方法将数字的字符串表示形式转换为它的等效 32 位有符号整数。一个指示操作是否成功的返回值。 C# public static bool TryParse ( string s, out int result) 参数s包含要转换的数字的字符串。 result当此方法返回时,如果转换成功,则包含与 s 所包含的数字等效的 32 位有符号整数值;如果转换失败,则包含零。如果 s 参数为 空引用(在 Visual Basic 中为 Nothing),格式不正确,或者表示的数字小于 MinValue 或大于 MaxValue,则转换会失败。该参数未经初始化即被传递。 返回值如果 s 转换成功,则为 true;否则为 false。 备注TryParse 方法类似于 Parse 方法,不同之处在于 TryParse 方法在转换失败时不引发异常。s 参数包含一个如下形式的数字: [ws][sign]digits[ws] 方括号([ 和 ])中的项是可选的;其他项的值如下所示。ws 可选的空白。 sign 一个可选符号。 digits 一系列从 0 到 9 之间的数字。 s 参数是使用针对当前系统区域性初始化的 NumberFormatInfo 对象中的格式设置信息分析的。有关更多信息,请参见 CurrentInfo。示例下面的代码示例演示几个基类型的 TryParse 重载方法以及 TryParseExact 方法的重载方法。 C# using System;class Sample { public static void Main() { Int32 int32Val;// Int32 result = Int32.TryParse("3", NumberStyles.Integer, null, out int32Val); Show(result, "Int32", int32Val.ToString()); } protected static void Show(bool parseResult, string typeName, string parseValue) { string msgSuccess = "Parse for {0} = {1}"; string msgFailure = "** Parse for {0} failed. Invalid input.";// if (parseResult == true) Console.WriteLine(msgSuccess, typeName, parseValue); else Console.WriteLine(msgFailure, typeName); }}/*示例产生的输出:Parse for Int32 = 3*/ 函数想返回多个值, 该怎么办 c# ftp 的一个错误 关于鼠标事件的问题想请教一下大家 碰到个奇怪的问题.dataGridView listbox背景色的问题--我实在解决不了了 c# 如何向数据库表中插入数据 《有关数据库存表的问题》 打印走纸太多 PrintDocument 打印组件,OKI5530SC打印机套打快递单连续走纸问题?寻高手指点! .net下直接和服务器交互的问题 有人用过vs.net里的测试工具Application Center Test吗? 这个网站,大家觉得报价多少? 请问如何读取QQ中QQWry.Dat中的数据
Int32.Parse转换,不能抛出异常
如果楼上说的方法不行的话.
{
for (int i = 0; i < input.Length; i++)
{
if (!char.IsNumber(input, i))
return false;
}
return true;
}
int myNumber;
try
{
myNumber = Convert.ToInt32(str);
ret = true;
}
catch
{
ret = false;
}
这个是用来表示所以 数值 类型的。 包括了浮点数
bool isNumber(string str)
{
Regex reg = new Regex(@"^\d+([.]\d+)?$"); return reg.Match(str).Success;
}
----------
try
{
myNumber = Convert.ToInt32(str);
ret = true;
}
catch
{
ret = false;
}
bool IsInt(string input)
{
for (int i = 0; i < input.Length; i++)
{
if (!char.IsNumber(input, i))
return false;
}
return true;
}再Int32.Parse转换~
public static bool TryParse (
string s,
out int result
)
参数
s
包含要转换的数字的字符串。 result
当此方法返回时,如果转换成功,则包含与 s 所包含的数字等效的 32 位有符号整数值;如果转换失败,则包含零。如果 s 参数为 空引用(在 Visual Basic 中为 Nothing),格式不正确,或者表示的数字小于 MinValue 或大于 MaxValue,则转换会失败。该参数未经初始化即被传递。 返回值
如果 s 转换成功,则为 true;否则为 false。
备注
TryParse 方法类似于 Parse 方法,不同之处在于 TryParse 方法在转换失败时不引发异常。s 参数包含一个如下形式的数字: [ws][sign]digits[ws] 方括号([ 和 ])中的项是可选的;其他项的值如下所示。ws
可选的空白。 sign
一个可选符号。 digits
一系列从 0 到 9 之间的数字。 s 参数是使用针对当前系统区域性初始化的 NumberFormatInfo 对象中的格式设置信息分析的。有关更多信息,请参见 CurrentInfo。示例
下面的代码示例演示几个基类型的 TryParse 重载方法以及 TryParseExact 方法的重载方法。
C# using System;class Sample
{
public static void Main()
{
Int32 int32Val;
// Int32
result = Int32.TryParse("3", NumberStyles.Integer, null, out int32Val);
Show(result, "Int32", int32Val.ToString());
} protected static void Show(bool parseResult, string typeName,
string parseValue)
{
string msgSuccess = "Parse for {0} = {1}";
string msgFailure = "** Parse for {0} failed. Invalid input.";
//
if (parseResult == true)
Console.WriteLine(msgSuccess, typeName, parseValue);
else
Console.WriteLine(msgFailure, typeName);
}
}
/*
示例产生的输出:
Parse for Int32 = 3
*/