我爱我老婆

decimal.Round 的区别

有什么区别?

 

decimal.Round(xx, decimalPos, MidpointRounding.ToEven);

VS

decimal.Round(xx, decimalPos, MidpointRounding.AwayFromZero);

 

AwayFromZero, 就是常用的四舍五入.

 

ToEven, 就比较特别了,称为就近舍入或四舍六入五成双

e.g.

        22.333        to         22.33
        22.335        to         22.34
        22.325        to         22.32
        22.336        to         22.34
        22.326        to         22.33

后面是5的情况比较特殊,如果前面是奇数,则升上去,反之,则截掉,在金融结算中,经常使用该方法,来平衡双方的盈亏

posted @ 2012-05-17 09:32  DataFlow  阅读(4270)  评论(0编辑  收藏  举报