Java: Check if two double values match on specific no of decimal places
问题 Comparing those two values shall result in a "true": 53.9173333333333 53.9173 回答1: If you want a = 1.00001 and b = 0.99999 be identified as equal: return Math.abs(a - b) < 1e-4; Otherwise, if you want a = 1.00010 and b = 1.00019 be identified as equal, and both a and b are positive and not huge: return Math.floor(a * 10000) == Math.floor(b * 10000); // compare by == is fine here because both sides are integral values. // double can represent integral values below 2**53 exactly. Otherwise, use