NSTimerIntervalの式で整数オーバーフローが発生します。これは実際には2倍です。iPhone:式の整数オーバーフロー
NSTimerInterval paymentTermsInMilliSeconds = 30 * 24 * 60 * 60 * 1000;
iPhoneでタイマー間隔を処理するにはどうすればよいですか?
NSTimerIntervalの式で整数オーバーフローが発生します。これは実際には2倍です。iPhone:式の整数オーバーフロー
NSTimerInterval paymentTermsInMilliSeconds = 30 * 24 * 60 * 60 * 1000;
iPhoneでタイマー間隔を処理するにはどうすればよいですか?
使用、
NSTimerInterval paymentTermsInMilliSeconds = 30 * 24 * 60 * 60 * 1000.0;
希望は、問題を解決します。
これは、計算結果が整数結果であるために発生する可能性が高いためです。ダブル値を代わりに使用してみてください。
編集:私はちょうどチェックした、これはまさに何が起こっているのですか。計算をNSTimeInterval paymentTermsInMilliSeconds = 30.0 * 24.0 * 60.0 * 60.0 * 1000.0;
に変更した場合、コードは正しい値「2592000000」を返します。それ以外の場合は、オーバーフローと "-1702967296"という結果に終わります。
おそらくNSTimeInterval
を意味します。これは通常、秒単位の時間間隔です。ミリ秒で使用するには、ミリ秒で0.001秒を使用します。