たとえば、10 進数を丸めずに int に変換したい: 数値が 3.9 の場合、3 に変換されます (丸められた場合は 4 になります)。
質問する
13150 次
5 に答える
6
デフォルトでは、float/double から整数型へのキャストは切り捨てられるため、通常は特別なことをする必要はありません。
float f = 3.9f;
int i = (int)f; // i = 3
于 2013-06-12T08:56:20.353 に答える
3
It depends on how you want the negative values be treated. Typecasting to int would just truncate in that way that the part left of the decimal point will remain. -3.9f would turn into -3. Using floor before casting would ensure that it results in -4. (all within the variable type boundaries of course)
于 2013-06-12T09:08:20.893 に答える
2
あなたはこの怒鳴り声のようにすることができます:-
float myFloat = 3.9;
int result1 = (int)ceilf(myFloat );
NSLog(@"%d",result1);
int result2 = (int)roundf(myFloat );
NSLog(@"%d",result2);
int result3 = (int)floor(myFloat);
NSLog(@"%d",result3);
int result4 = (int) (myFloat);
NSLog(@"%d",result4);
出力は 4 4 3 3
于 2013-06-12T09:03:49.583 に答える
1
float を int にキャストするだけで、結果が切り捨てられます。
于 2013-06-12T08:56:56.213 に答える
0
単純に int に型キャストできます
于 2013-06-12T08:57:32.977 に答える