2011-08-14 4 views
1

지금 내 앱에서 인앱 구매를 구현 중입니다. 위해 는 다음 내가 할 지역화 된 가격을받을 수 있습니다 :가격을 형식화 할 때 NSNumberFormatter를 사용하여 통화를 바꿉니다.

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; 
    [numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4]; 
    [numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
    [numberFormatter setLocale:self.priceLocale]; 
    NSString *formattedString = [numberFormatter stringFromNumber:self.price]; 
    [numberFormatter release]; 
    return formattedString; 

이 잘 작동합니다. 그러나 나는 ASCII 문자열로 변환 가능한 문자열을 얻고 싶습니다. 따라서 숫자 포맷터가 통화를 철자하게하는 방법이 있습니다. 예 : "0.99 유로"는 "0.99 유로"또는 "0.99 유로"가됩니다.

답변

0

할 수있는 방법이 그 포맷의 형식으로 ¤을 교체하여 :

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; 
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4]; 
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
[numberFormatter setLocale:self.priceLocale]; 
NSString *currencyString = [numberFormatter internationalCurrencySymbol]; 
NSString *posFormat = [numberFormatter positiveFormat]; 
formatterFormat = [formatterFormat stringByReplacingOccurrencesOfString:@"¤" withString:currencyString]; 
[numberFormatter setPositiveFormat:posFormat]; 
NSString *formattedString = [numberFormatter stringFromNumber:self.price]; 
[numberFormatter release]; 
return formattedString; 
관련 문제