1

我得到一个随机数浮点值:

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

但我正在尝试做所有事情:

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 问题:什么是类型转换?

于 2013-06-21T20:54:39.123 回答