0

やあ。電卓を作成しようとしていますが、ポイントを使用しようとすると機能しません。ポイント ボタンをクリックすると、他のすべての数字が削除され、ポイントが先頭に残ります。

- (IBAction)buttonPoint:(id)sender {
    if (self.statusMode == false) {
        winMargin.text = [winMargin.text stringByAppendingString:@"."];
        winMarginString = winMargin.text;
        winMarginInt = [winMarginString doubleValue];
        NSLog(@"%@", winMargin.text); // .
        NSLog(@"%.20f", winMarginInt); // Gives back 0.00000000000000000000
    }
}

- (IBAction)buttonOne:(id)sender {
    if (self.statusMode == false) {
        winMargin.text = [winMargin.text stringByAppendingString:@"1"];
        winMarginString = winMargin.text;
        winMarginInt = [winMarginString doubleValue];
        NSLog(@"%@", winMargin.text);
        NSLog(@"%.20f", winMarginInt);
    }
}
4

1 に答える 1

0

winMargin.text は可変ではないため、上書きされます。

テキストを保存してから追加するには、NSMutableString が必要です。

例:

NSMutableString *str=[[NSMutableString alloc]init];
str=winMargin.text
winMargin.text=[str stringByAppendingString:@"1"];
于 2013-09-09T12:23:56.837 に答える