Я пытаюсь отформатировать сумму из файла .txt, поступающего в локали es_US (x, xxx.xx), в мою текущую локаль с es_ES (x.xxx, xx). Однако я ожидал, что [NSNumberFormater numberFromString] просто переформатирует строку, и я получаю только нулевое значение от этого метода.
Я также попробовал другой подход после проверки ответов отсюда, но NSDecimalnumber не работает, если в строке есть тысячи разделителей, поэтому, если кто-нибудь может сказать мне, что я делаю неправильно, пожалуйста...
- (void) setSaldo_sap:(NSString *)saldo_sap
{
NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc] init];
[numFormatter setLocale:[NSLocale currentLocale]];
[numFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numFormatter setNegativeFormat:@"-¤#,##0.00"];
//saldo_sap = @" -324,234.55"
NSString * tmpString = [saldo_sap stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSNumber *num = [numFormatter numberFromString:tmpString];
NSDecimalNumber *tempNumber = [NSDecimalNumber decimalNumberWithString:tmpString];
_saldo_sap = [numFormatter stringFromNumber:tempNumber];
}