如何在Obj-C中打印格式化的浮点数?

7

如何在Objective-C中打印float,例如打印3.45而不是3.45555555555


2个回答

23

尝试按照以下方式格式化浮点数:

NSLog(@"%.2f", myFloat);
%符号代表将会被随后的相应参数(myFloat)所替换。.2表示保留两位小数,f表示一个float数据类型。
更多细节请参考这里
Objective-C的NSLog与C语言的printf非常相似,主要区别在于您必须使用Objective-C字符串字面量(@"...")并且对于Objective-C字符串(NSString),您应该使用%@而不是%s,后者是用于“纯C字符串”。

@Austin - 你所说的动态是什么意思?你能编辑你的帖子并解释一下吗? - sch
我的意思是像@Jack Stone一样使用%g - user1245988

3

取决于你如何打印它。如果你想在GUI中显示它(这可能是Cocoa和Cocoa Touch应用程序的常见情况),请使用NSNumberFormatter并将其设置为两个小数位。如果你通过NSLog()或printf()打印它,你需要使用类似"%.2f"的格式说明符


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接