我正在寻找一种方式来四舍五入到最接近的美元以下规定:
(如果wholenumber.50以上四舍五入到下一个整数)
(如果wholenumber.49和下面轮下跌到目前的整数)整到最近的美元
我曾尝试:
Math.Round(wholenumber.xx, MidpointRounding.ToEven);
这并不总是圆我多么希望,例如1.5 = 2和2.5 = 2,因为它四舍五入到最接近的偶数。
我也曾尝试:
Math.Round(wholenumber.xx, MidpointRounding.AwayFromZero);
这总是舍入到较大的整数。
是否有任何内置的功能为我正在尝试做什么,或者我需要写我自己的自定义方法来检查号码和做楼或ceil取决于?
使用浮点算术存储货币是不是一个好主意,但.. – Jack 2012-04-09 21:40:19
你可以做数学没有第二个参数,我想呢?这就是你所描述的默认舍入。 – MarioDS 2012-04-09 21:41:22
MidpointRounding.AwayRoundZero就是你所描述的。这并不意味着要汇总所有值,只有中点(0.5)。 – dtb 2012-04-09 21:41:45