我得到一个随机数浮点值:
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]);”错误:“很快 标识符“
我该如何解决这个问题?
我真的很感谢你的帮助。
答案 0 :(得分:2)
float
是原始类型,因此您可以将其强制转换。例如,
int ran = rand() % (int)floorf(myFloat);
编译器甚至可能不需要(int)
演员......
您可能希望查看此相关的SO问题:What is a Type Cast?