關於.net 儲存 decimal類型資料到SQLServer2012資料庫時自動取整的問題

來源:互聯網
上載者:User

標籤:上網   blog   var   mon   同事   mode   .net   param   money   

公司同事問我有沒有遇到過decimal類型資料入庫時,會自動取整的問題(比如12.3入庫後值是12,12.8入庫後值是13,入庫後自動四捨五入自動取整);

之前就遇到過從資料去decimal類型資料時,會自動取整的問題;我想應該是同樣的問題吧,叫同事設定SQLParameter參數時,設定Scale=2,Precision=18;類似代碼如下:

var param1 = new SqlParameter("@Money",System.Data.SqlDbType.Decimal);            param1.Precision = 18;            param1.Scale = 2;            param1.Value = model.Money;

按照上面設定後,我同事說儲存到資料庫還是自動取整了,我就納悶了。沒辦法只能去他那裡調試跟蹤一下。

看看到底是哪裡取整,跟到入庫前的一個參數,值都是沒有取整,都是原值,就是入庫後值才自動取整的。上網搜了一下問題,沒有搜到有用的答案。

後來看錶的結構才知道,建表的時候,Money欄位decimal類型,沒有設定小數位,所有每次儲存入庫都會被自動取整,把欄位類型改成decimal(18,2),問題解決。

補充一句:真心坑……寫個隨筆記錄一下,坑坑的問題。

 

關於.net 儲存 decimal類型資料到SQLServer2012資料庫時自動取整的問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.