2
私はObj-Cの騒ぎですが、今日はNSNumberとintValueを使って私が本当に理解できないことがあります。NSNumberとintValue:奇妙な振る舞い
が2.030000 203.000000 203 202
誰かが最終intValueは202で203を回す理由を理解するために私を助けることができるしてください:出力を印刷し
double quota = 203/100.0;
NSLog(@"%f %f %@ %d",
quota,
quota*100.0,
[NSNumber numberWithDouble:(quota*100.0)],
[ [NSNumber numberWithDouble:(quota*100.0)] intValue]
);
:
私はこのコード例がありますか? 私は本当に明白で重要な何かを見逃しているように感じます。
TIA
答えてくれてありがとうございます。ジョー、これは私には本当に奇妙に思えます。なぜなら、私はintValueが最も近いint値を返すことを期待しているからです。リンゴの参照はすべて、戻り値が「受信者の値をintとして変換し、必要に応じて変換する」ことを示しています。私は誰かがこのコンセプトを明確にできることを願っています – Billo
よく一般的には、直接のint値の変換は、の後のすべての数字を削除します。丸められた値が必要な場合は、明示的にMath丸め関数を呼び出す必要があります。私はなぜ値を印刷すると、それが203に丸められるのか、もっと興味があります – Joe