Dit is een topic in Community » Forum » Pro » Software-ontwikkeling

Percentage berekenen uit NSURLConnection geeft geen decimalen

wout3r

wout3r op 07 mei 2011 #

Goedemiddag,

Ik maak gebruik van de connection delegate method, echter geeft mijn berekening van de percentage alleen 0 of 1 weer.. Zie ik iets over 't hoofd?

- (void)connection:(NSURLConnection *)connection didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite {
    float percentage = totalBytesWritten / totalBytesExpectedToWrite;
    [progressBar setProgress:percentage];
}

lord anubis op 07 mei 2011 #

heb je deze omzetting geprobeerd?

float written = [[NSNumber numberWithInteger:totalByt esWritten] floatValue];
float totaal = [[NSNumber numberWithInteger: totalBytesExpectedToWrite] floatValue];

[progressBar setProgress:(written/totaal)];

mhrenes

mhrenes op 07 mei 2011 #

Eenvoudiger is:
[progressBar setProgress:(float)totalBytesWritten/(float)totalBytesExpectedToWrite];
De reden is dat als je twee integer waarden deelt alleen gehele getallen als resultaat terugkomen.
Dus:
5/6=0
6/6=1
7/6=1
...
11/6=1
12/6=2

Je kunt alleen reageren met een gratis OMT account.
Log in of registreer.

Inloggen