C#后台將string="23.00"轉換成int類型


在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;
    }
}
 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM