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() 函數就不會。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章