我有一个以double类型存储的NSTimeInterval。我想使用%运算符获取该秒值内的分钟数。
minutes = secondValue % 60;
在这里,minutes 被声明为 double minutes
结果是 XCode 报错 "Invalid operands to binary %"
有何想法?
我有一个以double类型存储的NSTimeInterval。我想使用%运算符获取该秒值内的分钟数。
minutes = secondValue % 60;
在这里,minutes 被声明为 double minutes
结果是 XCode 报错 "Invalid operands to binary %"
有何想法?
根据C语言标准,第6.5.5节第2段:
%
运算符的操作数须为整型。
原问题已被楼主修改,这是我的新回答:
你想执行minutes = floor(secondsValue) / 60;
,你需要整数除法而不是取模。
minutes = ((int)secondValue) % 60;
编辑:
(如果 secondValue 太大,无法适应 int 类型,这种方法就不起作用。因此您需要知道您的值的范围是否合适。)
secondValue
是123(相当于2分3秒),则secondValue % 60
的结果将为3。这似乎应该使用除法。 - Chuck