C 中Convert和parse的區別

2022-09-05 21:03:11 字數 1124 閱讀 1297

convert.toint32()與int.parse()的區別(1)這兩個方法的最大不同是它們對null值的處理方法: 

convert.toint32(null)會返回0而不會產生任何異常,但int.parse(null)則會產生異常。 

沒搞清楚convert.toint32和int.parse()的細細微區別時千萬別亂用,否則可能會產生無法預料的結果,舉例來說:假如從url中取乙個引數page的值,我們知道這個值是乙個int,所以即可以用convert.toint32(request.querystring["page"]),也可以用,int.parse(request.querystring["page"]),但是如果page這個引數在url中不存在,那麼前者將返回0,0可能是乙個有效的值,所以你不知道url中原來根本就沒有這個引數而繼續進行下一下的處理,這就可能產生意想不到的效果,而用後一種辦法的話沒有page這個引數會丟擲異常,我們可以捕獲異常然後再做相應的處理,比如提示使用者缺少引數,而不是把引數值當做0來處理。 

(2)還有一點區別就是 

a. convert.toint32(double value) 

如果 value 為兩個整數中間的數字,則返回二者中的偶數;即 3.5轉換為4,4.5 轉換為 4,而 5.5 轉換為 6。 不過4.6可以轉換為5,4.4轉換為4 

b. int.parse("4.5") 

直接報錯:"輸入字串的格式不正確". 

c. int(4.6) = 4 

int轉化其他數值型別為int時沒有四捨五入,強制轉換 

int.parse是轉換string為int 

convert.toint32是轉換繼承自object的物件為int的. 

你得到乙個object物件,你想把它轉換為int,用int.parse就不可以,要用convert.toint32. 

個人總結: 

(1)convert.toint32的引數比較多,int.parse只能轉換string型別的. 

(2)parse就是把string轉換成int,char,double....等,也就是*.parse(string) 括號中的一定要是string. 

(3)convert可以提供多種型別的轉換,也就是convert.*()括號中可以為很多種型別(包括string).

C 中 Convert與Parse的區別

1.convert.todouble與double.parse的區別。實際上convert.todouble與 double.parse 較為類似,實際上 convert.todouble內部呼叫了 double.parse 1 對於引數為null的時候 convert.todouble引數為 nu...

Convert和Parse對null值處理的區別

型別的轉換在日常的變成中是經常被用到的,我們最常用的型別轉換的方法就是convert和parse,下面來說一下這兩者null值處理的區別。int i1 convert.toint32 null i1 0 int i2 int32.parse null throw an expection value...

Convert與Parse的區別

對null值的處理方法 convert.toint32 null 返回0,不會丟擲異常 int.parse null 會丟擲異常 適用範圍 convert可以提供多種型別的轉換 parse只能提供string型別的轉換 對數值的處理 convert.toint32 double value 如果va...