何时使用Decimal.Round()而不是Math.Round()?

ana*_*nda 5 c#

我注意到Math.Round()Decimal.Round()更灵活,因为它能够处理所有Decimal.Round()可以,但也可以执行相同的给定double输入.那么有什么情况下使用Decimal.Round()更好,或者一直使用Math.Round()更好的主意?

Dai*_*Dai 4

查看.NET源代码:http://referencesource.microsoft.com/#mscorlib/system/math.cs,4f39179a0098ab01

Decimal Math::Round(Decimal)被定义为直接调用,Decimal Decimal::Round(Decimal)因此两者是语义类似的。

我想默认情况下我会用来Decimal::Round避免额外的函数调用,但 JIT 无论如何都应该优化它,所以我可能会用来与同一代码文件中的其他调用(如果有的话)Math::Round保持一致。Math