2015-11-02 75 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