浮点值0大于0

rid*_*rid 2 c floating-point

我不能用一个简单的程序重现这个,但在我的程序的某个地方我有类似的东西:

float e = f(...);
if (e > 0.0f) {
    ...
Run Code Online (Sandbox Code Playgroud)

printf("%f", e)表明,e0.000000的,但e > 0.0f也是如此...所以是e > 0e > 0.0.我错过了什么?

Aki*_*nen 6

浮点值大于零,但小于1e-7.这是印刷问题.使用科学记数法printf("%e",值); 或"%g"表示最短表示法.