簡體   English   中英

在格式化價格時獲取 NSNumberFormatter 以拼出貨幣

[英]get the NSNumberFormatter to spell out the currency, when formatting a price

我現在正在我的應用中實施應用內購買。 為了獲得本地化價格,我執行以下操作:

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 Eur”或“0.99 Euro”。

有一種方法可以通過將¤替換為格式化程序的格式:

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM