双分区在objective-c中丢失小数位

时间:2012-12-26 08:49:17

标签: objective-c

在划分浮点数和双精度数时,如何获得超过一位小数的位置,我该怎么做。

代码是:

   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。为了不丢失其余的十进制数字,我该怎么做。

我知道我可以使用NSNumber,但是当我使用doubleValue转换为double时,我总是得到60315.5。

提前谢谢。

1 个答案:

答案 0 :(得分: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);
}