Я хочу, чтобы форматтер показывал - £ 4.00 как - 4,00 $, но он продолжает показывать его как (4,00 $), почему это?NSNumberВернуться к отображению скобок на отрицательных значениях
Эта функция ниже включает строки «00000014» в «£ 00.14», она также должна показывать отрицательные значения. Но число форматирования, похоже, добавляет скобки.
код ниже:
+(NSString *)pfsCurrencyAmountString:(NSString *)amount CurrencyCodeAsString:(NSString *)code{
if (amount == nil) {
return nil;
}
int amountLength = [amount length];
NSMutableString *amountMutable = [NSMutableString stringWithString:amount];
if (amountLength > 2) {
[amountMutable insertString:@"." atIndex:amountLength - 2];
}
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
NSNumberFormatter *currencyStyle = [[NSNumberFormatter alloc] init];
[currencyStyle setFormatterBehavior:NSNumberFormatterBehavior10_4];
[currencyStyle setNumberStyle:@"NSNumberFormatterCurrencyStyle"];
[currencyStyle setLocale:locale];
[currencyStyle setCurrencyCode:code];
NSNumber * balance = [currencyStyle numberFromString:amountMutable];
[currencyStyle setNumberStyle:NSNumberFormatterCurrencyStyle];
return [currencyStyle stringFromNumber:balance];
}
'NSNumberFormatterCurrencyStyle' Значение валюты может быть отрицательным: O ??? –
Пожалуйста, найдите существующие ответы, прежде чем задавать новый. –
BTW, '[currencyStyle setNumberStyle: @" NSNumberFormatterCurrencyStyle "];' строка неверна; используйте '[currencyStyle setNumberStyle: NSNumberFormatterCurrencyStyle];' как вы это сделали позже. – Rob