取数字按钮将不允许输入两位以上的数字

时间:2015-11-02 09:07:42

标签: ios objective-c

我正在开发计算器, 我使用发送者按钮标记值从按钮获取数字..用户将无法输入两个以上

文本字段中的数字值
即34 + 22,23 + 22这样他就能进入,

234 + 234就像他无法在文本字段中输入值一样。 因为我使用

-(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);

 }

我是怎么做到的,请帮助我...

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:0)

您可以像这样使用

<?php
    $Arr = ('JDF1','JDF2','UDF1','JDF3','UDF3');
    //initialization ;)
    $i = 0;
    
    foreach ($Arr as $key) {
        $i ++;

        echo "At position {$i} I have Key {$key}.<br />";
    }

?>