我知道java有double陷阱,但为什么有时近似结果可以,但有时却不行。代码如下:for(floatvalue=0.0f;value结果是这样的:0.00.10.20.3...0.700000050.80000010.9000001 最佳答案 如您所述,并非所有数字都可以在IEEE754中准确表示。结合Java用于打印这些数字的规则,这会影响您将看到的内容。作为背景,我将简要介绍IEEE754的错误。在这种特殊情况下,0.1无法准确表示,因此您经常会发现实际使用的数字类似于0.100000001490116119384765625