2

floatとdoubleを除算するときに、小数点以下1桁以上にするために何をする必要がありますか。

コードは次のとおりです。

   double *dbl; //In fact this is a parameter of the function
   double *kg;
   double total = 41.2;

   *dbl = *kg * 1000.0l / total;

私の場合、* kg=2485および合計=41.2です。したがって、結果は60315.5339805のようになります。ただし、60315.5しか取得できません。残りの10進数を失わないようにするには、どうすればよいですか。

NSNumberを使用できることはわかっていますが、doubleValueを使用してdoubleに変換すると、常に60315.5になります。

前もって感謝します。

4

1 に答える 1

0

これは私にとってはうまくいきます:

- (void) myFunc:(double *)dbl
{
    double kg = 2485;
    double total = 41.2;
    *dbl = kg * 1000.0l / total;
}
- (void)viewDidLoad
{
    [super viewDidLoad];
    double d;
    [self myFunc:&d];
    NSLog(@"%lf",d);
}
于 2012-12-26T09:54:42.193 に答える