2015-11-02 72 views
0

我发展calculater, 我使用发件人按钮标记值从按钮获得数..用户将不能够进入两个以上以数从按钮将不允许进入超过两位数

位值在文本域
即34 + 22,23 + 22这样他就能够进入,

234 + 234这样他就无法在textfield中输入值。 的,我使用

-(IBAction)numberpress:(UIButton *)sender //number select 

{ 

    NSString *number = sender.currentTitle; 
    self.caldisplay.text = [self.caldisplay.text stringByAppendingString:number]; 
    NSLog(@"%@ number is caldis",self.caldisplay.text); 

} 

我怎么做,帮我感谢..

回答

1

尝试

-(IBAction)numberpress:(UIButton *)sender //number select 

{ 
    NSString *number = sender.currentTitle; 
    NSString *calculatingString = nil; 
    if (self.caldisplay.text.length >= 2) { 
     NSString *lastTwoChar = [self.caldisplay.text substringFromIndex:[self.caldisplay.text length] - 2]; 
     if ([lastTwoChar integerValue] >= 10) { // last char is content two number 
      if ([number integerValue] > 0 || [number isEqualToString:@"0"]) { 
       // invalid case. donothing here 
       calculatingString = self.caldisplay.text; 
      } else { 
       calculatingString = [self.caldisplay.text stringByAppendingString:number]; 
      } 
     } else { 
      calculatingString = [self.caldisplay.text stringByAppendingString:number]; 
     } 
    } else { 
     calculatingString = [self.caldisplay.text stringByAppendingString:number]; 
    } 

    // check valid input 
    if ([self calculate:calculatingString] > 100) { 
     // invalid case. donothing here 
    } else { 
     self.caldisplay.text = calculatingString; 
    } 
    NSLog(@"%@ number is caldis",self.caldisplay.text); 
} 

- (NSInteger)calculate:(NSString *)input { 
    // you need to wite code calculating string here 
    // example code to calculate only operator '+' 
    NSArray *operands = [input componentsSeparatedByString:@"+"]; 
    NSInteger result = 0; 
    for (NSString *operand in operands) { 
     result = result + [operand integerValue]; 
    } 
    return result; 
} 
+0

其给我例外指数出局@A宝 – Asmita

+0

@iAsmi我编辑了我的答案。希望帮助 – larva

+0

是它的工作现在@A宝,我可以再问一个问题 – Asmita

0

您可以使用它像这样

- (IBAction)btnNumberClicked:(UIButton*)aButton 
{ 
    if([self.caldisplay.text isEqualToString:@"0"]) 
    { 
     self.caldisplay.text = aButton.currentTitle; 
    }  
    else 
    { 
     self.caldisplay.text = [self.caldisplay.text stringByAppendingString:aButton.currentTitle]; 
    } 
} 
+0

NOP它将使我输入三个以上的数字@Mayur Shrivas – Asmita