我有一个存储为双精度的 NSTimeInterval。我想使用 % 运算符获取第二个值内的分钟数。
minutes = secondValue % 60;
分钟被宣布为double minutes
结果是 XCode 说“二进制 % 的操作数无效”
想法?
我有一个存储为双精度的 NSTimeInterval。我想使用 % 运算符获取第二个值内的分钟数。
minutes = secondValue % 60;
分钟被宣布为double minutes
结果是 XCode 说“二进制 % 的操作数无效”
想法?
来自 C 标准,第6.5.5 节乘法运算符,第 2 段:
运算符的操作数
%
应为整数类型。
OP改变了他们的问题,所以这是我的新答案:
你想做minutes = floor(secondsValue) / 60;
你想要 int 除法,而不是模数。
如果 secondValue 是 float 或 double,则可以使用 C 类型转换:
minutes = ((int)secondValue) % 60;
编辑:
(如果 secondValue 太大而无法放入 int 中,这将不起作用。因此您需要知道您的值的范围是否合适。)