我使用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