我使用C#編寫了計費系統的應用程序。在C中不同情況舍入或捨棄小數點#
總賬單可以向上或向下四捨五入以方便客戶支付給收銀員。它取決於以美分結尾的最後一個值。我使用數據類型十進制來進行計算。
當與美分0.00,0.01結束,0.02它將輪向下到0.00
實例:
- 10.00,10.01,或10.02輪下降到10.00
- 10.10,10.11或10.12舍入爲10.10
當與美分0.03,0.04結束,0.05它將輪向上到0.05
實例:
- 10.03,10.04,或10.05圓形高達10.05
- 10.13, 10.14或10.15取整到10.15
當以美分結束時0.05,0 0.06或0.07它將輪向下到0.05
實例:
- 10.05,10.06,10.07或向下舍入到10.05
- 10.15,10.16,10.17或向下舍入到10.15
當美分0.08或0.09結束**它會**一輪上漲到0.10
例子:
- 10.08或10.09本輪下跌到10.10
- 10.18或10.19本輪下跌10.20
現在的問題是我不能使用Math.Round因爲答案是不同的,不符合系統要求。假設我的總帳單是10.14,它會將舍入到10.10,但回答應該是舍入到10.15。
我希望有人幫我解決這個問題。
請問乘以2,四捨五入,然後除以2解決您的問題? – 2013-03-28 07:32:27
@ C.Evenhuis,謝謝。對不起,我不擅長數學 – Chuki2 2013-03-28 07:47:39