2012-02-26 107 views
1

這裏有一些偉大的答案如何格式化浮動的小數一個字符串: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] 

對這個的任何想法?

+0

你能再次測試嗎?它適用於我,請參閱下面的帖子。 – sch 2012-02-26 16:54:51

+0

你想得到什麼結果:'NSLog(@「myFloatA:[%5.2f])」,myFloatA;'例如? – sch 2012-02-26 17:01:57

回答

1

使用打印說明符對於NSLogs來說都非常好,但是想想另一種方式。

通常情況下,您需要字符串表示形式的數字,當您將其顯示爲類似文本字段的內容時。在這種情況下,您最好使用一個NSNumberFormatter,它爲您完成大部分繁重工作。

0

也證實了這一點。如果你擔心你沒有得到5個字符的寬度,試着用零填充:

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