C#中String转int问题

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;

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace ConsoleApplication7
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             //String转int
14
15             //如果确定字符串中是可以转成数字的字符,可以用int.Parse(string s),
16             //该语句返回的是转换得到的int值;
17             string str1= "12";
18             int num1 = 0;
19             num1 = int.Parse(str1);
20             Console.WriteLine(num1);
21
22             //如果不能确定字符串是否可以转成数字,可以用int.TryParse(string
23             // s, out int result),该语句返回的是bool值,指示转换操作是否成功,
24             //参数result是存放转换结果的变量。
25             string str2 = "14";
26             int num2 = 0;
27             Console.WriteLine(int.TryParse(str2, out num2));
28             Console.WriteLine(num2);
29
30             //使用Convert.ToInt32(string s)进行转换
31             string str3 = "12";
32             int num3 = Convert.ToInt32(str3);
33             Console.WriteLine(num3);
34         }
35     }
36 }
37                    

当int.Parse()输入值为abc:

当int.TryParse()和Convert.ToInt32()输入值为abc:

时间: 2024-10-17 04:57:57

C#中String转int问题的相关文章

Linq中string转int的方法

Linq中string转int的方法 在做批量删除时,需把一串id值所对应的数据删除,调试出现问题: Linq语句中如果使用ToString()进行类型转换,编译时不会报错,但执行时会出现如下错误: "LINQ to Entities 不识别方法"System.String ToString()",因此该方法无法转换为存储表达式." 原因是Linq不支持ToString()函数. 可用下述方法进行转换解决: string source = "1,2,3,4

Java中String转int型的方法以及错误处理

应要求,本周制作了一个判断一个年份是否是闰年的程序.逻辑很简单,这里就不贴代码了.可是,在这次程序编写中发现了一个问题. 在输入年份时,如果输入1)字母2)空3)超过Int上限时,就会抛exception. 问题出在String转Int型时. 首先,在java中String转换为Int主要有两种方法 1.Integer.parseInt(s) 2.Integer.valueOf(s).intValue(); 这两种方法略有不同,之后再跟大家分析. 首先我使用第一种方法,当测试数据为正常的年份时,

js中string转int

今天做项目的时候,碰到一个问题,需要把String类型的变量转化成int类型的.按照常规,我写了var i = Integer.parseInt("112");但控制台报错,说是"'Integer' 未定义".后来,才知道,原来js中String转int和Java中不一样,不能直接把Java中的用到js中.改成var j = parseInt("11");就ok了. 备注:无论是 Java 还是 JavaScript, parseInt 方法都有

java中string和int互相转化

1 怎样将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i = Integer.valueOf(my_str).intValue(); 注: 字串转成 Double, Float, Long 的方法大同小异. 2 怎样将整数 int 转换成字串 String ? A. 有叁种方法: 1.) St

2017.4.18 java中string和int互相转化

1 如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i = Integer.valueOf(my_str).intValue(); 注: 字串转成 Double, Float, Long 的方法大同小异. 2 如何将整数 int 转换成字串 String ? A. 有叁种方法: 1.) St

swift 中String,Int 等类型使用注意,整理中

swfit中的String和Int是 struct定义的,不同于NSString和NSNumber, 如果想在一个数组中同时包含String和Int,那么这个数组要声明为[Any] 而不是 [AnyObject] , 因为他们不是class! 另外,与c中的string和int 不同,swfit中的是struct,虽然在使用上,可以把Int当做int使用,它代表了基本的整型,可以达到c中的int的功能,但是数据结构上是不同的,具体来说,

C++ 中 string, char*, int 类型的相互转换

1.string到int的转换 1) 在 C 标准库里面,使用 atoi: #include <cstdlib> #include <string> std::string text = "152"; int number = std::atoi( text.c_str() ); if (errno == ERANGE) //可能是std::errno { //number可能由于过大或过小而不能完全存储 } else if (errno == ????) //

JS中string与int相互转换

1.string转int (1)直接加空字符串 var  x=100;  a = x +"";   //JS会自动隐性转换 (2)parseint()方法 parseInt("abc") // Returns NaN. parseInt("12abc") // Returns 12. parseInt("12") //Return 12. 2.int转string var  x=100;   a = x.toString();

Java中String和Int的相互转换

一.将字串 String 转换成整数 intA. 有2个方法:1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]);2). int i = Integer.valueOf(my_str).intValue();PS:字串转成 Double, Float, Long 的方法大同小异.第一种方法:i=Integer.parseInt([String]);//直接使用静态方法,不会产生多