0

我有基本的怀疑。我必须转换float minutes =( (10.09/60 ) % 60); 但错误是invalid to binary expression(double to double)。我怎样才能使这个计算变得容易..我首先 float minutes =( (10.09/60 ) 尝试将分钟转换为 NSInterger 以解决模块(%)操作..

但我该怎么做……或者建议其他解决方案来获得这个计算..

float minutes =( (10.09/60 ) % 60);

4

3 回答 3

2

要使用%,您必须使用int. 所以:(int)(10.09)%60应该工作。

于 2012-12-20T12:09:52.103 回答
2

% 运算符不适用于浮点值。你必须使用一个函数来计算你想要的。这是它的基本伪代码:

B % A = B - (地板(B / A) * A)

还有一些库函数可以在 math.h 或 tgmath.h 中为您执行此操作

此外,您可以使用: fmod() 或 fmodf() 来自 .

于 2012-12-20T12:14:57.640 回答
1

您可以根据需要使用以下操作

浮动 myFloat = 3.333

 //for nearest small integer:
int result = (int)ceilf(myFloat );

 //for nearest big integer:
int result = (int)roundf(myFloat );

 //for nearest integer:
int result = (int)floor(myFloat);

//对于一个整数值 int result = (int) (myFloat);

于 2012-12-20T12:10:10.003 回答