關於小數位處理的問題。
SQL code
select Cast(3.88 As Decimal(10,2))*Cast(83.87 As Decimal(10,2)),
Cast(Cast(3.88 As Decimal(10,2))*Cast(83.87 As Decimal(10,2)) As Decimal(10,2)),
Cast(3.88 As Decimal(10,2))*Cast(27.9 As Decimal(10,2))*2,
Cast(Cast(3.88 As Decimal(10,2))*Cast(27.9 As Decimal(10,2))*2 As Decimal(10,2))
--325.4156 325.42 216.5040 216.50
上面是在查詢分析器裏面測試的,沒有問題。
但是我在視圖裏面:
Cast(Cast(3.88 As Decimal(10,2))*Cast(83.87 As Decimal(10,2)) As Decimal(10,2))
結果為325.4
Cast(Cast(3.88 As Decimal(10,2))*Cast(27.9 As Decimal(10,2))*2 As Decimal(10,2))
結果為216.5
問題1、保留的2位小數爲什麽只有1位了?
但是這個字段其它地方又有2位小數的地方,如
3.88*159.85=620.218顯示為620.22
3.88*42.98*2=333.5248顯示為333.55(這裡是不是有問題?應該是333.52啊)
小數位好像一直有誤差,要麽多,要麽少。數據量大了,這個誤差可就大了。
問題2、怎麽才能讓表或者視圖字段裏面顯示的數據都是保留2位小數,而不是有的一位有的兩位。
------解决方案--------------------
看看你的视图。。