У меня есть категория на NSString с помощью этого метода:NSNumberFormatter проблема с numberFromString
-(NSNumber *)numberValue
{
if (!nfStr)
{
nfStr = [[NSNumberFormatter alloc] init];
}
NSLocale *current = [NSLocale autoupdatingCurrentLocale];
[nfStr setLocale:current];
[nfStr setDecimalSeparator:[current objectForKey:NSLocaleDecimalSeparator]];
[nfStr setGroupingSeparator:[current objectForKey:NSLocaleGroupingSeparator]];
return [nfStr numberFromString:self];
}
Моя текущая локаль он-IT (десятичный разделитель: "" группировка разделитель: "")
когда Я использую stringFromNumber с NSNumber 90000 NumberFormatter возвращают правильно отформатированную строку «90,000»
, когда в текстовое поле я пишу строку «90.000» в NumberFormatter возвращение ноль вместо NSNumber 90000
Почему?
Благодаря
редактировать: TextField делегат
-(void)textFieldDidEndEditing:(UITextField *)textField
{
myObject.r.qtaOm = [Trim(textField.text) numberValue];
}
Вы можете разместить код, как вы используете его с текстовым полем? –
отправлено, является текстовым полем delgate –
Он работает для меня даже с текстовым полем - что такое Trim macro - может быть, попробовать без него? –