0

尽管有很多非常相似的问题,但没有一个能真正完全回答我的问题,所以请多多包涵。

给定两个双精度数,我需要将它们四舍五入到小数点后两位,然后检查差异是否正好是 0.01。

最好的方法是什么?

4

1 回答 1

1

其他人指出了比较浮点数的问题。最好的办法是将每个乘以 100,然后将整数部分作为整数进行比较:

static bool ExactlyPennyDifference(double d1, double d2)
{
    return Math.Abs((int)Math.Round(d1 * 100) - (int)Math.Round(d2 * 100)) == 1;
}
于 2012-04-21T23:04:14.380 回答