有没有办法在 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/