虽然有很多非常相似的问题,但没有一个真的完全回答我的问题,所以请耐心等待。
鉴于两个双打,我需要将它们舍入到两个小数位,然后检查差异是否正好是0.01。
这样做的最佳方法是什么?
答案 0 :(得分:1)
其他人指出了比较浮点数的问题。你最好的选择是将每个乘以100,然后将整数部分作为整数进行比较:
static bool ExactlyPennyDifference(double d1, double d2)
{
return Math.Abs((int)Math.Round(d1 * 100) - (int)Math.Round(d2 * 100)) == 1;
}