1. 程式人生 > >sql Server 保留幾位小數

sql Server 保留幾位小數

如果在資料庫用的float型別存資料

在程式裡面Decimal接受,會是填的什麼資料儲存什麼資料

但是如果在資料庫裡面用numeric(18,2)存資料,在程式裡面用ToDecimal

接受,會新增小數,可以在顯示的時候取小數

如果Decimal沒有給小數,對於資料庫使用DECIMAL沒有給小數,會自動四捨五入

建議改資料型別為nvarchar(20),想填的資料是多少就是多少)

如果是vchar會導致定數,不足會自動填充會有空字元問題

資料庫裡的 float momey 型別,都會精確到多位小數。但有時候 我們不需要那麼精確,例如,只精確到兩位有效數字。

解決:

1. 使用 Round() 函式,如 Round(@num,2)  引數 2 表示 保留兩位有效數字。

2. 更好的方法是使用 Convert(decimal(18,2),@num) 實現轉換,decimal(18,2) 指定要保留的有效數字。

這兩個方法有一點不同:使用 Round() 函式,如果 @num 是常數,如 Round(2.3344,2) 則 會在把有效數字後面的 變為0 ,成 2.3300。但 Convert() 函式就不會。