다음 NSNumberFormatter를 사용하여 쉼표와 기호를 통화 값에 추가하고 있습니다.iOS : NSNumberFormatter가 문자열을 NSNumber로 다시 변환하지 않습니다.
self.currencyFormatter = [NSNumberFormatter new];
self.currencyFormatter.numberStyle = NSNumberFormatterCurrencyStyle;
self.currencyFormatter.currencySymbol = @"£";
self.currencyFormatter.currencyCode = @"GBP";
self.currencyFormatter.roundingMode = NSNumberFormatterRoundHalfUp;
self.currencyFormatter.maximumFractionDigits = 0;
사용은 예상대로
self.principleAmountTextField.text = [self.currencyFormatter stringFromNumber:[NSNumber numberWithInteger:100000]];
이 £ 100,000 표시합니다. 이제 두 개의 자릿수 (텍스트는 £ 100,00096이됩니다)를 텍스트 필드에 삽입하고 문자열을 정수로 변환하려고하면 0이됩니다. 기본적으로 다음 행은 0을 반환합니다.이 문제를 어떻게 다룰 지 모르겠습니다.
NSLog(@"%d", [[self.currencyFormatter numberFromString:@"£100,00096"] integerValue]);
참고 저는 텍스트 입력란에 숫자를 입력 할 수있는 맞춤 입력보기가 있습니다. In 편집 끝 짝수 형식 번호와 쉼표로 표시하십시오.
'£ 100,00096'은 유효한 숫자가 아닙니다. '£ 10,000,096'은'£ 10000096'이 될 것입니다. – rmaddy
....하지만 사용자가 숫자를 입력하면 쉼표를 넣을 수 없습니다! 입력 된 필수 형식으로 자동 변환되는 번호가 있습니까? – applefreak
사용자가 잘못된 값을 입력 할 수있는 경우 변환하기 전에 문자열에서 그룹화 문자를 제거해야합니다. – rmaddy