我刚刚经历过的错误,其中两个号码都被比较,我发现以下有趣:double和float值比较
assert 1 == 1;//true
assert 1d == 1;//true
assert 1 == 1f;//true
assert 1d == 1f;//true
assert 1.1 == 1.1;//true
assert 1.1d == 1.1;//true
assert 1.1 == 1.1f;//false
assert 1.1d == 1.1f;//false
我的问题是:为什么只有最后两个语句是假的?
很好的解释:https://randomascii.wordpress.com/2012/06/26/doubles-are-not-floats-所以不要比较他们/ –
你必须阅读[每个计算机科学家应该知道什么关于浮点运算](https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html) 。这是这个规范的资源。 –
检查两种不同类型值的平等点有什么意义......没关系。 – haifzhan