1

乱数の浮動小数点値を取得しています:

float myFloat=120.12123123123;
int tmpInt = floorf(myFloat);
int ran=rand()%tmpInt;

しかし、私はすべてを1行でやろうとしています:

float myFloat=120.12123123123;
int ran=rand()%([[floorf(myFloat)] intValue]);

しかし、この行で次のエラーが発生します。

"int ran=rand()%([[floorf(myFloat)] intValue]);" エラー:「予想される識別子」

どうすればこれを修正できますか?

よろしくお願いします。

4

1 に答える 1

2

floatはプリミティブ型なので、そのままキャストできます。例えば、

int ran = rand() % (int)floorf(myFloat);

コンパイラは(int)キャストさえ必要としないかもしれません...

この関連する SO の質問を見たいと思うかもしれません: Type Cast とは何ですか?

于 2013-06-21T20:54:39.123 に答える