在C# 后台將String類型轉換成int
有以下幾種方法:
(1) int.TryParse(string);
(2) Convert.Toint32(string);
(3) (int)string;
但是,
使用Convert.ToInt32(string) 會出現輸入字符串格式錯誤問題。
使用Int.TryParse(string)也會轉換失敗,不會錯誤,會輸出默認的0
解決方案是使用Decimal或者Double去轉換
(1)使用Decimal.Parse
string a = "23.00";
decimal c = decimal.Parse(a);
Console.WriteLine("result:{0}", (int)c);
(2)使用Double.Parse
string a = "23.00";
Double c = Double.Parse(a);
Console.WriteLine("result:{0}", (int)c);
注:當使用(int)string強行轉換的時候你會發現如果帶有小數點系統會被自動忽略。
如果使用Convert.ToInt32轉換時系統會四舍五入。
附:實現一個類型的擴展類。
public static class ObjectExtension
{
public static int ToInt(this object obj)
{
int result = default(int);
if (obj != null && obj != DBNull.Value)
{
int.TryParse(obj.ToString(), out result);
}
return result;
}
}
