Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
尽管有很多非常相似的问题,但没有一个能真正完全回答我的问题,所以请多多包涵。
给定两个双精度数,我需要将它们四舍五入到小数点后两位,然后检查差异是否正好是 0.01。
最好的方法是什么?
其他人指出了比较浮点数的问题。最好的办法是将每个乘以 100,然后将整数部分作为整数进行比较:
static bool ExactlyPennyDifference(double d1, double d2) { return Math.Abs((int)Math.Round(d1 * 100) - (int)Math.Round(d2 * 100)) == 1; }