ios - 使用 %g 更改字符串格式的有效数字位数

标签 ios objective-c

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

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

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

最佳答案

格式中的任何字段宽度或精度都可以用 * 替换,以指示由 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

关于ios - 使用 %g 更改字符串格式的有效数字位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17516499/

相关文章:

ios - 在iOS上解析SDK:“NSInternalInconsistencyException”,原因:“除非已通过登录或注册进行了身份验证,否则无法保存用户”

ios - UICollectionView 加载更多数据

iphone - 在 'splitViewBarButtonItem' 类型的对象上找不到属性 'id<UISplitViewControllerDelegate>'

objective-c - 设置声音输出/输入

objective-c - 如何在 objective-c 中导入 Metal?

ios - 索引 1 超出范围 [0 .. 0] 向下滚动时崩溃

iphone - 应用程序中分配了很多内存,如何解决?

ios - 用 attributedText 给 UILabel 上色

ios - Objective-C 中的字符串比较与 isEqualToString

ios - 从 Swift 调用 C 函数