2013-07-12 99 views
4

我有存儲過程,它獲取十進制(3,3)作爲參數。所以,當我試圖通過這個PARAM這樣將.net十進制類型轉換爲tsql十進制(3,3)

new SqlParameter { ParameterName = "@Wear", SqlDbType = SqlDbType.Decimal, Value = wear.WearValue } 

我越來越

錯誤轉換數據類型的數字爲十進制。

當我嘗試傳遞1.0值時會出現此異常。 我需要將1.0 恰好爲轉換爲decimal(3,3)。我該如何執行此操作?

+0

十進制例子= 12.34567; 十進制輸出= Math.Round(例如,3); – sohaiby

+1

由於'decimal(3,3)'有3位數的空間,所以你不能將'1.0'轉換成'decimal(3,3)',其中3位必須出現在小數點後面。通過扣除,它不能接受小數點前的任何數字。 –

回答

4

最大值decimal(3,3)將允許爲0.999,因此當您嘗試插入大於該異常的內容時將發生。嘗試類似decimal(4,3)

相關問題