objective-c - printf 样式格式化函数中的变量插值

标签 objective-c printf

有没有办法在 Objective-C(甚至 C)中的 printf 样式字符串格式化函数中为浮点精度参数传递变量?比如在TCL等脚本语言中,我可以这样做:

set precision 2
puts [format "%${precision}f" 3.14159]

输出当然是 3.14。我想在 Objective-C 中做类似的事情:

float precision = 2
NSString *myString = [NSString stringWithFormat:@".2f", 3.14159]

除了我想将精度作为一个变量。如何做到这一点?

最佳答案

是的,string format specifiers对于 Cocoa 用于格式化的 printf,包括一个可变精度说明符,* 放在小数点之后:

int precision = 3;
NSLog(@"%.*f", precision, 3.14159);
NSString *myString = [NSString stringWithFormat:@".*f", precision, 3.14159];

关于objective-c - printf 样式格式化函数中的变量插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8761527/

相关文章:

iphone - 在哪里使用 CFBundleName

ios - AFNetworking:使用setImageWithURLRequest异步图片下载

ios - 子类化 NSCoder,重新创建 NSArchiver

iphone - uitextfield 中的光标位置

c++ - 关于 printf 参数的问题。 C/C++

linux - 什么时候使用 .fini_array 部分?

c++ - 访问冲突读取位置 fprintf

java - Java中printf的双%格式化问题

iphone - UIWeb View : Absolute path for images in app documents folder

c - 将 printf 与非空终止字符串一起使用