2011-05-10 112 views
1

%计算:%计算在下载文件的安卓

int f = (a*100)/b; 

但是,当我得到49%的下一步我得到-49%(带负号)
为什么不能得到它?

+6

发布您的代码,请。 – 2011-05-10 04:21:54

+0

你想在这里做什么? int filePercentage = currentBytes/totalBytes * 100? – Rejinderi 2011-05-10 04:29:12

回答

3

您可能正在使用int s来存储您的文件大小并创建算术溢出。在写入代码后,一旦下载的文件大小超过20MB,就会失败。

使用此:

long totalFileSize; 
long downloadedBytes; 

// ... 

int percentageDownloaded = (downloadedBytes * 100)/totalFileSize;