1

たとえば、10 進数を丸めずに int に変換したい: 数値が 3.9 の場合、3 に変換されます (丸められた場合は 4 になります)。

4

5 に答える 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 に答える