-3

小数点ボタンを追加する方法。数字を入力するための私のコード:

number = number *10 + (int)[sender tag];
display2.text = [NSString stringWithFormat:@"%.10g",number];

そして、10進数の私のコード。

NSString *currentText = display2.text;
if ([currentText rangeOfString:@"." options:NSBackwardsSearch].length == 0) {
    display2.text = [display2.text stringByAppendingString:@"."];

}

これはどのように機能しますか?!12と入力し、10進数を押します。番号3=123を押します:(

4

1 に答える 1

0

12.3ではなく123を取得する理由は、他のボタン(10進数ボタンではない)のコードにあります。小数点を追加するには、range.length==0ではなくrange.location==NSNotFoundを使用しますが、それは問題ではありません。

問題は、番号* 10+[送信者タグ]を実行していることです。ここで、1、2、10進数の順に入力するとします。「数」は12、つまり12になります。ここで、10を掛けて3を加えると、12 * 10 + 3 = 120 + 3=123になります。

必要な実際の数(12.3)を取得するために実行したいことは、代わりに次を使用することです。

display2.text = [display2.text stringByAppendingFormat:@"%i",[sender tag]];

文字列の先頭にあるゼロを取り除くには、次のようにします。

if ([display.text isEqualToString:@"0"]) {
    display.text = [NSString stringWithFormat:@"%i",[sender tag]];
}
else {
    display2.text = [display2.text stringByAppendingFormat:@"%i",[sender tag]];
}
于 2013-03-26T22:28:36.690 に答える