私はiPhoneに新しい、私はカスタム番号ボタンをクリックすると、テキストフィールドに値を入力したい、私は値を入力したい値の左側に来る必要があります小数点、どのように?iphoneのテキストフィールドに浮動小数点値を表示する方法は?
例:12345
私はこの 123.45
私はiPhoneに新しい、私はカスタム番号ボタンをクリックすると、テキストフィールドに値を入力したい、私は値を入力したい値の左側に来る必要があります小数点、どのように?iphoneのテキストフィールドに浮動小数点値を表示する方法は?
例:12345
私はこの 123.45
あなたの質問は少し不明であるたい - あなたはUITextField
にテキストを設定しようとしていますか?あなたは試してみました:
[myTextField setText:[NSString stringWithFormat:@"%.2f", myFloat]];
myFloat
があなたの浮動小数点変数である
%.2f
ステートメントは、小数点以下2桁まで
myFloat
を出力します。
希望はこれです。
ユーザーがテキストフィールドにテキストを入力できるようにして小数点を挿入する場合は、テキストフィールドに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;
}
をお試しください