【发布时间】:2012-10-02 04:50:54
【问题描述】:
我知道 MidpointRounding.AwayFromZero 和 MidpointRounding.ToEven,但我想我想要介于两者之间的东西。它用于促销模块,因此如果值为 0.5,则折扣价格必须向下舍入。
例如,我想:
£1.244 四舍五入为 £1.24 1.245 英镑四舍五入为 1.24 英镑 1.246 英镑四舍五入至 1.25 英镑据我了解,.AwayFromZero 会将中间值四舍五入为 1.25 英镑,.ToEven 将正确四舍五入为 1.24 英镑,但 1.335 英镑将四舍五入为 1.34 英镑,而不是我想要的 1.33 英镑。
有谁知道如何做到这一点?
谢谢,乔恩
【问题讨论】:
-
这个 SO 问题可能会有所帮助...看起来默认行为是向偶数四舍五入:stackoverflow.com/q/977796/945456
-
您总是可以使用数学模数来检查第 100 位是否为 5 或更低并向下舍入,6 或更高则向上舍入。
标签: c#