2012-07-20 4 views
1

내 레이블 중 하나에 번호가 표시됩니다 (키가있는 경우). 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이 theNumber 권리를해야 하는가? – ingenspor

+0

오! 예! 미안 내 실수 :) –

1

형식 문자열에있는 #는 선택 숫자를 나타냅니다 : 그것은 할 필요가있는 경우 포맷터는이 숫자를 넣어 것입니다 이것은 나의 시도이다. 문자열을 채워 넣으려면 문자열 형식으로 0을 사용해야합니다.

Format Result 
###.## 98.9 
##0.00 98.90 
000.00 098.90 
관련 문제