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]

除了我想将精度包含在变量中.如何才能做到这一点?

解决方法

是的,用于printf的 string format specifiers(由Cocoa用于格式化)包括一个可变精度说明符,*位于小数点后面:
int precision = 3;
NSLog(@"%.*f",precision,3.14159);
NSString *myString = [NSString stringWithFormat:@".*f",3.14159];

猜你在找的C&C++相关文章