2012-10-03 12 views
0

예 : 사용자가 1234,56을 TextField에 넣습니다. 당신은 내가에만 최대 허용 할 볼 수 있듯이소수점 형식을 확인하는 방법은 무엇입니까?

[numberFormatter setNumberStyle:NSNumberFormatterNoStyle]; 
[numberFormatter setMaximumIntegerDigits:5]; 
[numberFormatter setMaximumFractionDigits:1]; 

:

나는이 NSNumberFormatter을 설정합니다. 하나의 소수 자릿수. 문자열을 내 numberFormatter 규칙과 어떻게 비교하여 사용자가 입력 한 내용이 정확하지 않은 경고를 열 수 있습니까?

감사 마이클

+1

필드는 ... NSTextField 또는 UITextField입니다. iOS 케이스의 경우 [아마도이 관련 질문은 도움이 될 수 있습니까?] (http://stackoverflow.com/questions/2412491/realtime-formatting-with-nsnumberformatter-in-a-uitextfield) –

답변

1

는 다음과 같이, NumberFormatter으로 입력 한 번호를 확인합니다

NSNumber * myNumber = [numberFormatter numberFromString:yourTextField.text]; 
if(myNumber) 
    //valid entered number 
else 
    //invalid entered number 

당신이 대한의 UITextField의 위임 방법을 사용해야합니다 : 텍스트의 어떤 말도하지 않았다

- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
    NSNumberFormatter *numberFormatter = [NSNumberFormatter alloc]init] 
    [numberFormatter setNumberStyle:NSNumberFormatterNoStyle]; 
    [numberFormatter setMaximumIntegerDigits:5]; 
    [numberFormatter setMaximumFractionDigits:1]; 
    NSNumber * myNumber = [numberFormatter numberFromString:string]; 
    [numberFormatter release]; 
    if(myNumber) 
    return YES; 
    else 
    return NO; 
} 
관련 문제