1

Objective-C では、浮動小数点変数を int 変数に代入するだけで浮動小数点数を整数に変換し、NSLog 呼び出しで書式指定子 %i を使用して、型キャストへのクリーンで安全なアプローチですか?

これを行う適切な方法は、次のように型キャストを宣言することです。

int x; 
float y;

y = 7.43;

x = (int) y; //type cast (int)

NSLog(@"The value of x is %i", x);

出力:

x の値は 7

この型キャスト方法は理想的なアプローチですが、浮動小数点変数を int 変数に代入しようとしただけで、同じように機能します。違いはありますか?

これは、(型キャスト) を使用しない他の方法です。

int x;
float y;

y = 7.43;

x = y; // no (int) casting for variable 'y' here

NSLog(@"The value of x is %i", x);

出力:

x の値は 7

ご覧のとおり、同じ結果ですが、違いは何ですか? 両方の方法が良いですか?どちらがきれいですか?

4

1 に答える 1

2

明示的なキャストは必要ありませんが、害はなく、コードが読みやすくなります。

これは安全だと思います。主な理由は、最大 float が可能な int よりもはるかに小さいため、データが失われることはありません。

丸めではなく、float 値の小数部分を切り捨てることを意図していることを確認してください。

于 2013-11-03T19:31:37.307 に答える