Im new to iphone, 맞춤 텍스트 버튼을 클릭하면 텍스트 필드에 값이 입력됩니다. 값을 입력하면 값이 왼쪽에옵니다. 소수점, 어떻게?아이폰의 텍스트 필드에 float 값을 표시하는 방법은 무엇입니까?
예 : 12345
나는이 123.45
Im new to iphone, 맞춤 텍스트 버튼을 클릭하면 텍스트 필드에 값이 입력됩니다. 값을 입력하면 값이 왼쪽에옵니다. 소수점, 어떻게?아이폰의 텍스트 필드에 float 값을 표시하는 방법은 무엇입니까?
예 : 12345
나는이 123.45
귀하의 질문이 좀 불분명합니다 - 당신은 UITextField
의 텍스트를 설정하려고? 당신은 시도 :
[myTextField setText:[NSString stringWithFormat:@"%.2f", myFloat]];
myFloat
이 부동 소수점 변수입니다
%.2f
문은
myFloat
을 소수 2 자리까지 인쇄합니다.
희망은 다음에 나오는 내용입니다.
사용자가 텍스트 필드에 텍스트를 입력 할 수 있도록하고 소수점을 삽입하려는 경우 텍스트 필드에서 UIControlEventEditingChanged
이벤트를 찾아서 텍스트를 다시 처리해야합니다. 예 :
[textField addTarget:self action:@selector(reprocessTextFieldText:) forControlEvents:UIControlEventEditingChanged];
...
-(void)reprocessTextFieldText:(UITextField *)sender
{
// enforce rules on sender.text here.
}
명시 적으로 숫자 이외의 아무 것도 입력 할 수있는 사용자의 능력을 빼앗아하려면
다음 당신은 또한 당신의UITextField
에 대리인을 추가하고 적절하게
textField:shouldChangeCharactersInRange:replacementString:
을 구현 할 수 있습니다.
이
- (void)viewDidLoad
{
[super viewDidLoad];
enteredtext = @"0";
// Do any additional setup after loading the view from its nib.
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if([string isEqualToString:@"0.00"])
enteredtext = @"0";
if(range.length==1)
{
if(enteredtext.length>1)
enteredtext = [[enteredtext substringWithRange:NSMakeRange(0,enteredtext.length-1)]retain];
}
else
{
if(enteredtext.length<9)
enteredtext = [[NSString stringWithFormat:@"%@%@",enteredtext,string]retain];;
}
double amountindecimal = [enteredtext floatValue];
double res=amountindecimal * pow(10, -2);
NSString * neededstring = [NSString stringWithFormat:@"%.2f",res];
if([neededstring isEqualToString:@"0.00"])
enteredtext = @"0";;
textField.text = neededstring;
return NO;
}
시도