私はiOS用の電卓チュートリアルを行っており、小数スタイルを行うための調査を行っています。これまでの調査では、以下のコードを実行しました
- (IBAction)digitPressed:(UIButton *)sender {
NSString *digit = sender.currentTitle;
NSString *decimal = @".";
BOOL decimalAlreadyEntered = [self.display.text rangeOfString:decimal].location == NSNotFound ? NO : YES;
if (self.userIsInTheMiddleOfEnteringANumber) {
if (([digit isEqual:decimal] && !decimalAlreadyEntered) || !([digit isEqual:decimal])) {
[self.display setText:[[self.display text] stringByAppendingString:digit]];
}
}
else if ([self.display.text isEqual:@"0"] && digit == decimal){
[self.display setText:[[self.display text] stringByAppendingString:digit]];
self.userIsInTheMiddleOfEnteringANumber = YES;
}
else {
[self.display setText:digit];
self.userIsInTheMiddleOfEnteringANumber = YES;
}
}
このコードは、ユーザーが複数の小数点を押すのを防ぎ、1 つだけに制限するのに役立ちました (2.09 のように)。涼しい!ただし、アプリの起動中に、小数点を押して数字、たとえば 1 を押すと、ラベルには (0.1) ではなく ( .1) のみが表示されます。改善のための助けは大歓迎です:)