我刚从Peter Lawreys的帖子中了解到这是一个有效的表达式,并且评估为true
。
333333333333333.33d == 333333333333333.3d
我的问题是,为什么允许存在双倍数字面量,而这些数值不能在双精度浮点数中表示,而无法表示的整数字面量却被禁止。这个决定的理由是什么。
另外,我可以实际触发双精度浮点数字面量的超出范围编译错误。
99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d
只要我们在(min,max)范围内,字面量就会被近似,但当超出该范围时,编译器似乎拒绝进行近似处理。