2
ダウンロードファイルの残りの割合と残り時間を計算するためのコードは次のとおりです。私はchilkat FTP2モジュールからのデータを次のようにしています:byte/secと合計ファイルサイズと残りのファイルサイズ。ダウンロードの完了率を計算するエラーが発生しました
どうしたのですか?私はまだ、負または(0.00213)を非常に小さく、高い負のパーセント数と時間
int Calcbytesreceived = [ftp.AsyncBytesReceived intValue];
int Calcdownloadrate = [ftp.DownloadRate intValue];
// data from FTP chilkat module: fileSize (bytes) , ForCalcbytesreceived (bytes) , ForCalcdownloadrate (bytes/sec) all Int format
double PercentOfFile = ((double)Calcbytesreceived/(double)fileSize) * 100 ;
double SecondsRemaining = ((double)fileSize - (double)Calcbytesreceived)/(double)Calcdownloadrate ;
double MinutesRemaining = (double)SecondsRemaining/60 ;
NSLog(@"percent loaded = %@", PercentOfFile);
はい、あなたの最後の行がに変わります。そして、毎回キャストするのではなく、最初から 'Calcbytesreceived'と' Calcdownloadrate'を 'double'と宣言することができました。 – sch
OK。ありがとう、私はどのようにMinutesRemainingを処理しますか? 'NSLog(@" percent loaded =%f "、Minutesremaining);'は動作しません。結果はほとんどの場合負です... ??? – Jan
ええと... SecondsRemainingを記録すると正確な結果が得られますか?そうでない場合は、Calcdownloadrateの値を確認します.FTPトランザクション全体で更新されるため、取得した時点で有効な値がない可能性があります。 – JoshL