Convert.ToInt32是什么意思
1、convert是一個類,代表類型轉換的類。ToInt32()是Convert的一個方法,這個方法的功能就是把指定的內容轉換成整數類型。 2、comn是一個對象,一個具有Text屬性的對象。它的值也就是一個string類型。 假如說comn.Text代表的是一個輸入文本框里
Convert.ToInt32
將字符串轉換成數字
方法:Convert.ToInt32(string value,int fromBa)
fromBa為進制(2,8,10,16)
如:將2進制(string)轉換成10進制(int)
string strBa2="0101";
int intBa10=Convert.ToInt32(strBa2,2);
結果:5
Convert.ToInt32、int.Par的區別
Convert.ToInt32、(int)和int.Par三者的區別:
前者適合將object類類型轉換成int類型,如Convert.ToInt32(ssion["shuzi"]);
(int)適合簡單數據類型之間的轉換;
int.Par適合將string類類型轉換成int類型,如int.Par(ssion["shuzi"].ToString())。
(1)這兩個方法的最大不同是它們對null值的處理方法:
Convert.ToInt32(null)會返回0而不會產生任何異常,但int.Par(null)則會產生異常。
沒搞清楚Convert.ToInt32和int.Par()的細細微區別時千萬別亂用,否則可能會產生無法預料的結果,舉例來說:假如從url中取一個參數page的值,我們知道這個值是一個int,所以即可以用Convert.ToInt32(Request.QueryString["page"]),也可以用,int.Par(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.Par("4.5")
直接報錯:"輸入字符串的格式不正確".
c. int(4.6) = 4
Int轉化其他數值類型為Int時沒有四舍五入,強制轉換
int.Par是轉換String為int
Convert.ToInt32是轉換繼承自Object的對象為int的.
你得到一個object對象,你想把它轉換為int,用int.Par就不可以,要用Convert.ToInt32.
總結:
(1)Convert.ToInt32的參數比較多,Int.Par只能轉換string類型的.
(2)Par就是把String轉換成int,char,double....等,也就是*.Par(string) 括號中的一定要是string.
(3)Convert可以提供多種類型的轉換,也就是Convert.*()括號中可以為很多種類型(包括string).
Convert.ToInt32()與(int)強轉有什么不同(轉)
兩個都是轉換成整型的,只是它們的長度不同。int為16位的,而下面的那個是32位的
首先,我要指出的是,在 C# 中,int 其實就是 System.Int32,即都是32位的。
其次,(int) 和 Convert.ToInt32 是兩個不同的概念,前者是類型轉換,而后者則是內容轉換,它們并不總是等效的。我們很清楚 C# 提供類型檢查,你不能把一個 string 強制轉換成 int,隱式轉換就更加不可能,例如如下的代碼就行不通了:
string text = "1412";
int id = (int)text;
然而,我們很清楚上面的代碼中 text 實際上儲存的是一個數值,我們希望把這個數值提取出來并以 int 的形式儲存起來以便日后的運算使用,那么你就需要進行內容轉換了。內容轉換也叫內容解釋,我們把上面的代碼稍稍修改就可以達到目的了:
string text = "1412";
int id = Convert.ToInt32(text);
除此之外,你還可以使用 Int32.Par 和 Int32.TryPar 來進行解釋。
另外,你發現 Convert.ToInt32 有很多重載版本,例如 Convert.ToInt32(double value);,當我們用這個版本來把一個 double 轉換成 int 時,ToInt32 會檢查被轉換的數值是否能夠用 int 表示,即是否會發生“越界”,如果是就會拋出 OverflowException,否則就會為你轉換,但使用 (int) 進行強制轉換,如果被轉換的數值大于 Int32.MaxValue,那么你將得到一個錯誤的結果,例如下面的代碼:
year = Convert.ToInt32(Console.ReadLine()); 求詳細解釋
控制臺應用程序啊,Convert.ToInt32(Console.ReadLine()) 就是你控制臺輸入一個值,通過Convert.ToInt32()轉換為Int類型。。。
Int32 表示將數字字符串轉換為32位有效的數字符號
在C#中Int運算符分為32位和64位,int32=int,int64=long,
在ASP.NET中Convert.ToInt32()與(int)強轉有什么不同
兩個都是轉換成整型的,只是它們的長度不同。int為16位的,而下面的那個是32位的
首先,我要指出的是,在
C#
中,int
其實就是
System.Int32,即都是32位的。
其次,(int)
和
Convert.ToInt32
是兩個不同的概念,前者是類型轉換,而后者則是內容轉換,它們并不總是等效的。我們很清楚
C#
提供類型檢查,你不能把一個
string
強制轉換成
int,隱式轉換就更加不可能,例如如下的代碼就行不通了:
string
text
=
"1412";
int
id
=
(int)text;
因為
string
和
int
是兩個完全不同并且互不兼容的類型。說到這里,你可能會問什么才算是兼容的呢?其實,能夠使用
(int)
進行強類型轉換的只能是數值類型了,例如
long、short、double等,不過進行這種轉換時你需要考慮精度問題。
然而,我們很清楚上面的代碼中
text
實際上儲存的是一個數值,我們希望把這個數值提取出來并以
int
的形式儲存起來以便日后的運算使用,那么你就需要進行內容轉換了。內容轉換也叫內容解釋,我們把上面的代碼稍稍修改就可以達到目的了:
string
text
=
"1412";
int
id
=
Convert.ToInt32(text);
除此之外,你還可以使用
Int32.Par
和
Int32.TryPar
來進行解釋。
另外,你發現
Convert.ToInt32
有很多重載版本,例如
Convert.ToInt32(double
value);,當我們用這個版本來把一個
double
轉換成
int
時,ToInt32
會檢查被轉換的數值是否能夠用
int
表示,即是否會發生“越界”,如果是就會拋出
OverflowException,否則就會為你轉換,但使用
(int)
進行強制轉換,如果被轉換的數值大于
Int32.MaxValue,那么你將得到一個錯誤的結果,例如下面的代碼:
double
d
=
Int32.MaxValue
+
0.1412;
int
i
=
(int)d;
不過無論你進行什么數值轉換,精度問題都是必須考慮的。