アプリケーションのpow()に愚かな問題があります。コードは次のとおりです。
double xf = 0.0153846154;
NSLog(@"%.10f", xf);
if (abs(xf) < (5.0 * pow(10.0, -9.0))) {
NSLog(@"%.10f", 5.0 * pow(10.0, -9.0));
}
しかし、私がこれを試してみると、1つの比較は正しいです:
if (abs(xf) >= pow(10.0, 10.0)) {
NSLog(@"%f", pow(10.0, 10.0));
}
そして私のログは:
2012-10-13 15:45:24.587 myApp[22941:c07] 0.0153846154
2012-10-13 15:45:28.950 myApp[22941:c07] 0.0000000050
誰かが私になぜ0.0153846154<0.0000000050であるか説明できますか