0

double の値は 47 です。これを 60 で割りますが、印刷しようとすると 0.0000 と表示されます。
0.7858 と表示されるはずです

どうやってやるの?何か助けはありますか?

これが私のコードです:

int minutes = decimal * 60;
float min = (minutes)/60;
NSLog(@"%.4f",min);
4

2 に答える 2

2

これを試して :

double decimal = 47.0 / 60.0;     // Just so minutes is 47
double minutes = decimal * 60.0;
double min = minutes / 60.0;
NSLog(@"%.4f",min);

Objective C (および C と C++) では、左オペランドと右オペランドの両方が整数の場合に整数除算が適用されるため、minutes / 60 = 0. 浮動小数点演算が必要な場合は、浮動小数点リテラルを使用してください。

于 2012-07-26T07:53:11.160 に答える
0

これを試して:

  int minutes = 40;
  float min = (minutes * 1.0f)/60.0f;
  NSLog(@"%.4f",min);

また

  int minutes = 40;
  float min = (float)minutes/60.0f;
  NSLog(@"%.4f",min);
于 2012-07-26T07:52:34.700 に答える