C#中當把浮點型強制轉換為整型時為什么四舍五入了而不是舍去小數部分?


double轉int類型,四舍五入了【流淚貓頭鷹】,導致多算了錢!!我不要四舍五入!

在 DAL層轉int  : database.AddInParameter(sqlCommand, "@Amount", DbType.Int32, model.Amount);
測試用Convert.ToInt32(@Amount) 

以上結果都是四舍五入而不是取整,結果如圖

我后面是用的分割取整 .Split('.') 

今天百度才知道:

如果使用(int)
比如:double b = 12.6; int a = (int)b; // 此時a的值為12
如果使用Convert
比如:double b = 12.6; int a = Convert.ToInt32(b); //此時a的值為13

可以根據需求靈活運用需要的轉換類型提升精度。

原來如此~~ 原來我直接(int)轉就好了 【流淚】

 3. 使用Math.Floor()取整 

注意: 
數據庫CAST(float AS int) float轉int是直接取整 ,而不是四舍五入哦!(C# double類型 對應 SQLServer  float類型)

好了,現在你想四舍五入還是取整 任君選擇 

 


免責聲明!

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



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