<分区>
我使用 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.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。
我希望有人能帮我解决这个问题。