У меня есть этот блок кода, выполняемый при нажатии числа:
NSString *currentValue = [@"" stringByAppendingFormat:@"%.02f", [[[[[textField text] stringByReplacingOccurrencesOfString:@"." withString:@""] stringByReplacingOccurrencesOfString:@"," withString:@""] stringByReplacingOccurrencesOfString:@" " withString:@""] doubleValue]/100.0f];
//I am using this to obtain always a number with 2 decimals.
NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
[f setMinimumFractionDigits:2];
[f setMaximumFractionDigits:2];
[f setGroupingSeparator:@" "];
NSNumber *currentNumberValue = [f numberFromString:currentValue];
NSLog(@"1: %@", currentValue);
NSLog(@"2: %@", [currentNumberValue stringValue]);
Теперь, если я запускаю это в симуляторе и нажимаю 3, я получаю следующие результаты:
1: 0.03
2: 0.03
Если я запускаю его на устройстве, которое у меня есть:
1: 0.03
2: 0
Таким образом, в основном на устройстве форматированное число равно 0.
Я также заметил, что на симуляторе я получаю '. 'в качестве десятичного разделителя и на устройстве у меня' , '.
И из-за этого он никогда не идет дальше.Любое число, которое я нажимаю, все еще остается 0.
В чем проблема?