Objective-C には、秒数 (int) を「x 時間 y 分 z 秒」の形式の日付文字列に変換する次のコードがあります。8812 秒の場合、2 時間 26 分 52 秒を返す必要がありますが、2 時間 26 分 51 秒を返しています。
これは面倒な行です:
float timeInSeconds = (60 * ((((seconds / 3600.0) - (seconds / 3600)) * 60.0) - (int)(((seconds / 3600.0) - (seconds / 3600)) * 60.0)));
これは 52.0 にNSLog
なります。しかし、もしそうなら:
int timeInSeconds = (int)(60 * ((((seconds / 3600.0) - (seconds / 3600)) * 60.0) - (int)(((seconds / 3600.0) - (seconds / 3600)) * 60.0)));
私は51を取得NSLog
します。それはなぜですか?