[英]int.Parse, Input string was not in a correct format
我將如何解析空字符串? int.Parse(Textbox1.text)
給我一個錯誤:
輸入字符串的格式不正確。
System.FormatException: 輸入字符串的格式不正確。
如果文本為空( Textbox1.text = ''
),則會引發此錯誤。 我理解這個錯誤,但不知道如何糾正這個錯誤。
如果您希望在空文本框中默認為 0(並在格式錯誤的輸入上引發異常):
int i = string.IsNullOrEmpty(Textbox1.Text) ? 0 : int.Parse(Textbox1.Text);
如果您希望將任何格式錯誤的輸入默認為 0:
int i;
if (!int.TryParse(Textbox1.Text, out i)) i = 0;
嗯,你希望結果是什么? 如果您只想驗證輸入,請改用int.TryParse
:
int result;
if (int.TryParse(Textbox1.Text, out result)) {
// Valid input, do something with it.
} else {
// Not a number, do something else with it.
}
if(!String.IsNullOrEmpty(Textbox1.text))
var number = int.Parse(Textbox1.text);
或者甚至更好:
int number;
int.TryParse(Textbox1.Text, out number);
嘗試這個:
int number;
if (int.TryParse(TextBox1.Text, out number))
{
//Some action if input string is correct
}
如果輸入是數字或空字符串,這將起作用。 如果字符串為空,它將返回零,否則將返回實際數字。
int.Parse("0"+Textbox1.Text)
您還可以使用這樣的擴展方法:
public static int? ToNullableInt32(this string s)
{
int i;
if (Int32.TryParse(s, out i)) return i;
return null;
}
這是參考: How to parse a string into a nullable int in C# (.NET 3.5)
你可以用簡單的try/catch
包裝它......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.