8

double として格納されている NSTimeInterval があります。% 演算子を使用して、2 番目の値の範囲内にある分数を取得したいと思います。

minutes = secondValue % 60;

分は次のように宣言されますdouble minutes

その結果、XCode は「バイナリ % への無効なオペランド」と言う

考え?

4

3 に答える 3

13

C 標準のセクション6.5.5 乗法演算子の段落 2 から:

演算子のオペランドは%整数型でなければなりません。

于 2010-09-16T22:05:34.310 に答える
12

OPは質問を変更したので、ここに私の新しい答えがあります:

やりたいことminutes = floor(secondsValue) / 60; モジュラスではなく、整数除算が必要です。

于 2010-09-16T22:04:11.013 に答える
4

secondValue が float または double の場合、C の型キャストを使用できます。

minutes = ((int)secondValue) % 60;

編集:

(secondValue が大きすぎて int に収まらない場合、これは機能しません。そのため、値の範囲が適切であることを知る必要があります。)

于 2010-09-16T22:07:51.630 に答える