0

電卓を作成していますが、不要な0を表示する際に問題が発生しました(表示されていないので、表示したいのですが)。

現在の例は次のとおりです。[電卓画面を表します]

【空白電卓画面】

ユーザーが「4」を押す

[4]

ユーザーが「。」を押す

[4]

ユーザーが「0」を押す

[4]

ユーザーが「0」を押す

[4]

ユーザーが「5」を押す

[4.005]

代わりに、次のようにします。

【空白電卓画面】

ユーザーが「4」を押す

[4]

ユーザーが「。」を押す

[4.]

ユーザーが「0」を押す

[4.0]

ユーザーが「0」を押す

[4.00]

ユーザーが「5」を押す

[4.005]

以下に示すように、数値フォーマッターを使用しています...

 formatter = [[NSNumberFormatter alloc] init];
     formatter.numberStyle = NSNumberFormatterDecimalStyle;
     formatter.maximumIntegerDigits = 13;
     formatter.minimumFractionDigits = 0;
     formatter.maximumFractionDigits = 13;
     formatter.maximumSignificantDigits = 13;
     formatter.usesGroupingSeparator = YES;
     formatter.groupingSeparator = @",";
     formatter.decimalSeparator = @".";
     formatter.generatesDecimalNumbers = true;

私は自分の番号に電話をかけるために以下を使用します...

 buttonScreen.text = [formatter stringFromNumber:
 [NSNumber numberWithDouble:currentNumber]]

ありがとう!

4

2 に答える 2

1

4は4、4.0、4.00などの正確な浮動小数点表現であるため、ゼロは表示されません。ユーザー入力をに格納し、実際の計算が必要になっNSString *たときに変換することをお勧めします。NSNumber

于 2013-02-22T21:13:49.033 に答える
0

「=」または操作キーが押される前に入力を評価しないことで、この問題を回避できます。

別のキーが押されたためにわかっているエントリが終了したら、文字列に追加して文字列を正しい数値に変換するだけです。

于 2013-02-22T21:15:16.317 に答える