如果在數據庫用的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() 函數就不會。
新聞熱點
疑難解答