关于int.Parse()的异常
一、int.Parse(string 變量名)
該方式是將數(shù)字內(nèi)容的字符串轉(zhuǎn)換為int類(lèi)型
1.如果字符串的內(nèi)容為Null ,則拋出ArgumentNullException異常;
2.如果字符串內(nèi)容不是數(shù)字,則拋出FormatException異常;
3.使用該方法只能處理字符串的內(nèi)容,而且轉(zhuǎn)換后的字符串內(nèi)容要在int類(lèi)型的可表示范圍之內(nèi),若超出,則拋出OverflowException異常。
二、在網(wǎng)上搜索相關(guān)內(nèi)容,Convert.ToInt32()、int.Parse()、int.TryParse()、(int)這些函數(shù)都可以將其他類(lèi)型轉(zhuǎn)化為int型
1.Convert.ToInt32()與int.Parse()的區(qū)別:
(1)這兩個(gè)方法的最大不同是它們對(duì)NULL值的處理方法:
? ? Convert.ToInt32(null)會(huì)返回0而不會(huì)產(chǎn)生任何異常,但int.Parse(null)則會(huì)產(chǎn)生異常。
(2)當(dāng)參數(shù)是浮點(diǎn)數(shù)時(shí):
? ?a. Convert.ToInt32(double value)
? ? ? ?如果 value 為兩個(gè)整數(shù)中間的數(shù)字,則返回二者中的偶數(shù);即 3.5轉(zhuǎn)換為4,4.5 轉(zhuǎn)換為 4,而 5.5 轉(zhuǎn)換為 6。??不過(guò)4.6可以轉(zhuǎn)換為5,4.4轉(zhuǎn)換為4
? ?b. int.Parse("4.5")?
? ? ? ?直接報(bào)錯(cuò):"輸入字符串的格式不正確"
(3)轉(zhuǎn)換對(duì)象不同:
? ?a.int.Parse是轉(zhuǎn)換String為int
? ?b.Convert.ToInt32是轉(zhuǎn)換繼承自O(shè)bject的對(duì)象為int的
? ? ? 當(dāng)你得到一個(gè)object對(duì)象,你想把它轉(zhuǎn)換為int,用int.Parse就不可以,要用Convert.ToInt32.
2.int.TryParse()與int.Parse():
? ?int.TryParse()與 int.Parse() 又較為類(lèi)似,但它不會(huì)產(chǎn)生異常,轉(zhuǎn)換成功返回 true,轉(zhuǎn)換失敗返回 false。??
? ?最后一個(gè)參數(shù)為輸出值,如果轉(zhuǎn)換失敗,輸出值為 0,如果轉(zhuǎn)換成功,輸出值為轉(zhuǎn)換后的int值
3.關(guān)于(int):
? ?(int)是一種類(lèi)型轉(zhuǎn)換;當(dāng)我們把int類(lèi)型轉(zhuǎn)換到long,float,double,decimal類(lèi)型,可以使用隱式轉(zhuǎn)換,但是當(dāng)我們從long類(lèi)型到int類(lèi)型就需要使用顯式轉(zhuǎn)換,否則會(huì)產(chǎn)生 ? ? ?編譯錯(cuò)誤。
三、這是網(wǎng)上找到的代碼,可作為以后的聯(lián)系素材:
class Program {static void Main(string[] args){string str = "1,2,3,4,5,";Console.WriteLine(str.Substring(0, str.Length - 1));int nums = 0;string num = null;Int32.TryParse(num, out nums);Console.WriteLine(nums);/*int nums = 0;string num = "12345";Int32.TryParse(num, out nums);Console.WriteLine(nums);*/nums = Convert.ToInt32(num);nums = int.Parse(num);}好啦~下周見(jiàn)~
轉(zhuǎn)載于:https://www.cnblogs.com/baobaoni/p/4398602.html
總結(jié)
以上是生活随笔為你收集整理的关于int.Parse()的异常的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: nginx的脚本引擎(一)
- 下一篇: 面向对象—的__new__()方法详解