0

我正在构建一个应用程序,该应用程序允许用户执行一些计算,除了计算结果中包含大量十进制数字的数字。看到这种精度对我来说很好,但我想让用户能够选择他们想要显示多少有效数字。我正在使用双精度并使用此处显示的 %g 格式创建结果字符串:

NSString *resultString = [[NSString alloc] initWithFormat:@"%.14g", result];

我创建了一个步进器,用户可以与之交互并将他们选择的数字存储在另一个双精度数中。我的问题是,如何在14更改有效位数的地方插入双精度数?或者这甚至可能吗?如果您需要澄清,请发表评论。

4

1 回答 1

3

格式中的任何字段宽度或精度都可以替换*为表示由int参数提供的动态值。

例如:

double d = 1.0/7;
for(int i = 4; i < 12; i++)
   NSLog(@"%.*g", i, d);

输出:

0.1429
0.14286
0.142857
0.1428571
0.14285714
0.142857143
0.1428571429
0.14285714286
于 2013-07-07T21:36:59.720 回答