2

ダウンロードファイルの残りの割合と時間を計算するための次のコードがあります。chilkat FTP2 モジュールから次のデータがあります: バイト/秒、合計ファイル サイズ、残りのファイル サイズ。

なにが問題ですか?負のパーセント数と負または非常に小さい ( 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); 
4

1 に答える 1

5

PercentOfFile は double 型です。double 値を表示するには、「%@」の代わりに「%f」を使用する必要があります。最後の行を次のように変更します。

NSLog(@"percent loaded = %f", PercentOfFile); 

編集:これは、異なる NSLog をいつ使用するかを決定するための適切なリソースへのリンクです。

http://www.cocoadev.com/index.pl?NSLog

于 2012-04-27T17:03:36.690 に答える