发新帖

[C#/ASP.NET] C# String转int主要有四种方法

零下一度 2023-1-16 929

String转int主要有四种方法

1. int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。  

  如果字符串为空,则抛出ArgumentNullException异常; 

  如果字符串内容不是数字,则抛出FormatException异常;  

  如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;

2. Convert.ToInt32()是一种类容转换;但它不限于将字符串转为int类型,还可以是其它类型的参数;Convert.ToInt32 与 int.Parse 较为类似,实际上 Convert.ToInt32 内部调用了 int.Parse。

3. int.TryParse (String s,out int num.)与 int.Parse(string s)又较为类似,但它不会产生异常,最后一个参数为输出值,如果转换失败,输出值为 0,如果转换成功,输出值为转换后的int值。

4. (int) 属 cast 转换,当我们把int类型扩展到long,float,double,decimal类型,可以使用隐式转换,但是当我们从long类型到int类型就需 要使用显式转换,否则会产生编译错误。但我们只能将其它数字类型转换成 int 类型,它不能转换字符串,比如下例就会失败:

  string v = "1";

  int n = (int)v;

using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
 namespace ConsoleApplication7
 {
     class Program
     {
         static void Main(string[] args)
         {
             //String转int
             
             //如果确定字符串中是可以转成数字的字符,可以用int.Parse(string s),
             //该语句返回的是转换得到的int值;
             string str1= "12";
             int num1 = 0;
             num1 = int.Parse(str1);
             Console.WriteLine(num1);
 
             //如果不能确定字符串是否可以转成数字,可以用int.TryParse(string    
             // s, out int result),该语句返回的是bool值,指示转换操作是否成功,
             //参数result是存放转换结果的变量。
             string str2 = "14";
             int num2 = 0;
             Console.WriteLine(int.TryParse(str2, out num2));
             Console.WriteLine(num2);
 
             //使用Convert.ToInt32(string s)进行转换
             string str3 = "12";
             int num3 = Convert.ToInt32(str3);
             Console.WriteLine(num3);
         }
     }
 }




最新回复 (0)
返回
零下一度
主题数
931
帖子数
0
注册排名
1