2012-07-20 103 views
1

我在其中一個標籤(如果存在密鑰)中顯示來自plist的數字。如果我在plist中鍵入98,90,它有時會將數字改爲98,9000000000001。所以我想顯示帶有兩位小數的數字,並且我正在嘗試添加NSNumberFormatter來完成這項工作。但我無法做到這一點,我需要一些幫助才能做到這一點。這是我的嘗試:使用NSNumberFormatter顯示的帶有兩位小數的plist的數字

NSString *theString = @""; 
if ([selectedObject valueForKey:@"75 cl"] != nil) { 

    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
    [formatter setPositiveFormat:@"###.##"]; 

    theString = [NSString stringWithFormat:@"75 cl € %@", [formatter stringFromNumber:[selectedObject valueForKey:@"75 cl"]]]; 
} 
sevenfiveLabel.text = theString; 

回答

1

你不應該需要使用NSNumberFormatter

NSString *theString = @""; 
NSNumber *theNumber = [selectedObject valueForKey:@"75 cl"]; 

if (theNumber) { 
    theString = [NSString stringWithFormat:@"75 cl € %.2f", [theNumber floatValue]]; 
} 

sevenfiveLabel.text = theString; 
+0

謝謝,但mynumber的應該是數量寫對嗎? – ingenspor 2012-07-20 22:09:13

+0

d'oh!對!對不起這是我的錯 :) – 2012-07-20 22:10:17

1

格式字符串中的#表示可選數字:格式只能將一個數字那裏,如果它需要。如果您想強制它填充字符串,則需要在格式字符串中使用0

Format Result 
###.## 98.9 
##0.00 98.90 
000.00 098.90 
相關問題