Objective-C浮点字符串格式化:格式化整数

时间:2012-02-26 16:41:20

标签: objective-c

这里有一些很好的答案,关于如何格式化字符串浮点数的小数位

float myFloatA = 2.123456f;
NSLog(@"myFloatA: [%.2f]", myFloatA;
// returns:
// myFloatA: [2.12]

但我正在寻找的是如何格式化同一个浮点数的整数。这可以通过对整数的相同技巧来完成:

int myInt = 2;
NSLog(@"myInt: [%5d]", myInt;
// returns:
// myInt: [    2]

所以我希望像%5.2f这样的东西可以解决小数点前后的格式化问题。但事实并非如此:

float myFloatA = 2.123456f;
NSLog(@"myFloatA: [%5.2f]", myFloatA;
// returns:
// myFloatA: [2.12]

对此有什么想法吗?

2 个答案:

答案 0 :(得分:1)

使用print说明符对于NSLog来说非常好,但请考虑另一种方式。

通常,当您在文本字段中显示数字时,您需要数字的字符串表示形式。在这种情况下,您可以使用NSNumberFormatter来完成大部分繁重工作。

答案 1 :(得分:0)

也证实这有效。如果您担心自己没有获得5个字符的宽度,请尝试使用以下方法强制填充零

NSLog(@"myFloatA: [%05.2f]", myFloatA);