2011-01-11 9 views
0

混合データ型の変数を使用して完了率を計算しています。次のように混合変数データ型の計算

int incompleteCritical = 12; 
int total = 24; 
float progress = 0; 

NSLog(@"Incomplete Total: %d", incompleteCritical); 
NSLog(@"Total Total: %d", total); 

if (total > 0) { 
    progress = ((float)incompleteCritical/(float)total)*100; 
    NSLog(@"Progress: %d", progress); 
} 

コンソール出力は次のようになります。

2011-01-11 10:02:59.993 [18570:207] Incomplete Total: 12 
2011-01-11 10:02:59.993 [18570:207] Total Total: 24 
2011-01-11 10:02:59.994 [18570:207] Progress: 0 

はなぜ進歩は "50" を返していませんか?

答えて

2

NSLogステートメントで間違った書式文字列を使用しています。整数には%dが使用されます。浮動小数点数を記録するときは、%fを使用する必要があります。 (小数点以下の桁数を制限するために使用するT here are extra parameters

関連する問題