IT
clbd_control

将字符串转换为 int

这些示例演示了一些用于将 string 转换为 int 的不同方法。例如,当从命令行参数获取数值输入时,此类转换会很有用。还存在一些将字符串转换为其他数值类型(如 floatlong)的类似方法。下表列出了其中的一些方法。

此示例调用 ToInt32(String) 方法以将字符串“29”转换为 int,然后将结果增加 1 并打印输出。

C#
int i = Convert.ToInt32("29");
i++;

Console.WriteLine(i);
30

string 转换为 int 的另一种方法是使用 System..::.Int32 结构的 ParseTryParse 方法。ToUInt32 方法在内部使用 Parse。如果字符串的格式无效,则 Parse 会引发一个异常;而 TryParse 不会引发异常,而是返回 false。下面的示例演示了对 ParseTryParse 的成功调用和不成功的调用。

C#
int i = Int32.Parse("-105");
Console.WriteLine(i);
-105
C#
int j;
Int32.TryParse("-105", out j);
Console.WriteLine(j);
-105
C#
try
{
    int m = Int32.Parse("abc");
}
catch (FormatException e)
{
    Console.WriteLine(e.Message);
}
Input string was not in a correct format.
C#
string s = "abc";
int k;
bool parsed = Int32.TryParse(s, out k);

if (!parsed)
    Console.WriteLine("Int32.TryParse could not parse '{0}' to an int.\n", s);
Int32.TryParse could not parse 'abc' to an int.
*********************************************************************8
C#(IsNumeric) 字符串转换为数字的4种方法(转)
2008-05-29 21:17
判断C#中的字符串是否是数字,如果是转换成int类型

1.通过正则表达式(可以判断正数和负数)
public int IsNumeric(string str)
{
int i;
if(str != null && System.Text.RegularExpressions.Regex.IsMatch(str,@"^-?\d+$"))
i = int.Parse(str);
else
i = -1;
return i;
}
2.通过字符
/// <summary>
   /// 判断是否是数字
   /// </summary>
   /// <param name="number"></param>
   /// <returns></returns>
   private bool IsNumeric(string number)
   {
    try
    {
    
     for(int i=0;i<number.Length;i++)
     {
      if(number[i]<'0'||number[i]>'9')
      {
       return false;
      }
     }
     return true;
    }
    catch
    {
     return false;
    }
   }
3.通过char.IsNumber方法
/// 判断是否是数字
   /// </summary>
   /// <param name="number"></param>
   /// <returns></returns>
   private bool IsNumeric(string number)
   {
    try
    {
    
     for(int i=0;i<number.Length;i++)
     {
      if(!char.IsNumber(number,i))
      {
       return false;
      }
     }
     return true;
    }
    catch
    {
     return false;
    }
   }
4.通过try,catch
/// 判断是否是数字
   /// </summary>
   /// <param name="number"></param>
   /// <returns></returns>
   private bool IsNumeric(string number)
   {
    try
    {
     int.Parse(number);
     return true;
    }
    catch
    {
     return false;
    }
   }
posted on 2011-09-05 09:57  liufei  阅读(571)  评论(0编辑  收藏  举报