1、一般公式
int i=System.Int32.Parse("123");
或者:
int i=Convert.ToInt32("123");
System.Convert.ToInt32
System.Int32.Parse
System.Convert.ToInt32(str)
System.Int32.Parse(str)
2、可能的异常
int i = Convert.ToInt32( s );//如果s==null,返回0。
int i = int.Parse( s );//如果s==null,抛出异常。
一般用int i = Convert.ToInt32( s ); //因为比较省事。
如果用Parse:
if(s!=null||s!="")
{
int i = int.Parse( s );
}
3、正则
string yourStr = "";
if(!Regex.IsMatch(yourStr, "[0-9]"))
{
int i = Convert.ToInt32(yourStr);
}
不只是整数类型的:
Try
{
Convert.ToDecimal(str);
return true;
}
catch
{
return false;
}
如果是整数的话,就下面这个正则表达式。
if (Regex.IsMatch(str, @"^\d+$"))
{
return true;
}
else
{
return false;
}
4、返回值
bool ValidInput(string s) //字符串
{
try
{
Convert.ToInt32(s); //尝试将字符串转换为整型数据。
return true; //转换成功,返回true;
}
catch (Exception e) //如果转换失败,截获抛出的异常
{
return false; //转换失败,返回false.
}
}
相关文章
- VS2010对C++11的支持列表(感觉大部分都不支持)
- VS2013发布网站,vs2013发布
- Tengine vs openresty
- Xamarin技术文档------VS多平台开发
- Python笔记_第四篇_高阶编程_进程、线程、协程_3.进程vs线程
- XML Schema nillable=”true” vs minOccurs=”0″
- 关于VS2008+Win7出现error MSB3216: Cannot register assembly
- 【VS】error MSB8020: 无法找到 v142 的生成工具(平台工具集 =“v142”)。若要使用 v142 生成工具进行生成,请安装 v142 生成工具
- VS2022中解决方案显示0项目 | 找不到指定的SDK“”
- VS2019解决MSB8036 找不到 Windows SDK 版本 10.0.19041.0