我已經做了一些研究並找出了Math.Round
和MidpointRounding.AwayFromZero
的方法。從C中捨去數字0#
第二種方法做我想要的,但我不明白使用它的背後的語法。
例如,如果你有double
5.5,並且想用正常的四捨五入來獲得6,4.4來得到4,那麼這將如何完成?
我已經做了一些研究並找出了Math.Round
和MidpointRounding.AwayFromZero
的方法。從C中捨去數字0#
第二種方法做我想要的,但我不明白使用它的背後的語法。
例如,如果你有double
5.5,並且想用正常的四捨五入來獲得6,4.4來得到4,那麼這將如何完成?
部分overloads of Math.Round
以MidpointRounding
值作爲參數。
你可以寫,因此:
Math.Round(2.225m, 2, MidpointRounding.AwayFromZero)
而且想要得到2.23
。
請注意,如果您對十進制數字感興趣,無論如何,'decimal'通常會比'double'使用更好的類型... – 2013-02-17 17:50:07
這裏有一些關於此的文檔http://msdn.microsoft.com/zh-cn/ -us/library/system.midpointrounding.aspx 只是爲了補充W0lfs的答案。 – user710502 2013-02-17 17:51:21
意思是讓它成爲評論.. – user710502 2013-02-17 17:51:45
哪種語言? (標籤說C,標題C#) – wildplasser 2013-02-17 17:51:44
「,並希望使用正常舍入」啊,那裏的癥結......首先定義「正常」:) – 2013-02-17 17:55:15
只是一個側面說明:當四捨五入到一個整數,「雙」很好。當四捨五入到十進制數字時,您應該使用'decimal'來代替。 – CodesInChaos 2013-02-17 17:58:11