我正在为 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;
}
}
此代码帮助我防止用户按下多个小数点,并将其限制为一个(如 2.09 中)。凉爽的!但是,在应用程序启动期间,当我按下小数点并按下数字(例如 1)时,标签将仅显示 ( .1) 而不是 (0.1) 。非常感谢您对改进的任何帮助:)