如何將String轉換爲Int?

我有一個TextBoxD1.Text ,我想將其轉換爲一個int以將其存儲在數據庫中。 數據庫

我怎樣才能作到這一點? 安全


#1樓

Convert.ToInt32( TextBoxD1.Text );

若是您確信文本框的內容是有效的int,請使用此選項。 一個更安全的選擇是 測試

int val = 0;
Int32.TryParse( TextBoxD1.Text, out val );

這將爲您提供一些您能夠使用的默認值。 Int32.TryParse還返回一個布爾值,指示它是否可以解析,所以您甚至能夠將其用做if語句的條件。 spa

if( Int32.TryParse( TextBoxD1.Text, out val ){
  DoSomething(..);
} else {
  HandleBadInput(..);
}

#2樓

嘗試這個: code

int x = Int32.Parse(TextBoxD1.Text);

或更好: orm

int x = 0;

Int32.TryParse(TextBoxD1.Text, out x);

一樣,因爲Int32.TryParse返回bool您能夠使用其返回值來決定解析嘗試的結果: 字符串

int x = 0;

if (Int32.TryParse(TextBoxD1.Text, out x))
{
    // you know that the parsing attempt
    // was successful
}

若是您很好奇,最好將ParseTryParse之間的區別總結以下: get

TryParse方法相似於Parse方法,可是若是轉換失敗,TryParse方法不會引起異常。 若是s無效且沒法成功解析,則無需使用異常處理來測試FormatException。 -MSDN string


#3樓

int.TryParse()

若是文本不是數字,則不會拋出。 io


#4樓

您須要解析該字符串,還須要確保該字符串確實是整數格式。

最簡單的方法是這樣的:

int parsedInt = 0;
if (int.TryParse(TextBoxD1.Text, out parsedInt))
{
   // Code for if the string was valid
}
else
{
   // Code for if the string was invalid
}

#5樓

int myInt = int.Parse(TextBoxD1.Text)

另外一種方法是:

bool isConvertible = false;
int myInt = 0;

isConvertible = int.TryParse(TextBoxD1.Text, out myInt);

二者之間的區別在於,若是沒法轉換文本框中的值,則第一個將引起異常,而第二個將僅返回false。

相關文章
相關標籤/搜索