iOS電卓を作成するためのチュートリアルに続いて、小数点以下の桁のボタンを追加したいと考えています。iOS電卓に小数点ボタンを追加する
- (IBAction)Decimal:(id)sender
{
NSString *currentText = calcScreen.text;
if ([currentText rangeOfString:@"." options:NSBackwardsSearch].length == 0) {
calcScreen.text = [calcScreen.text stringByAppendingString:@"."];
}
:ここに私のコードです
ヘッダファイル:私は誰かの方法を使用して示唆していたことを別のスレッドで見た
#import "CalcViewController.h"
@implementation CalcViewController
-(IBAction)numberPressed:(id)sender {
selectedNumber = selectedNumber * 10 + (float) [sender tag];
calcScreen.text = [NSString stringWithFormat:@"%2g", selectedNumber];
}
-(IBAction)operationPressed:(id)sender {
if (selectedOperation == 0) {
result = selectedNumber;
} else {
switch (selectedOperation) {
case 1:
result = result + selectedNumber;
break;
case 2:
result = result - selectedNumber;
break;
case 3:
result = result * selectedNumber;
break;
case 4:
result = result/selectedNumber;
break;
case 5:
selectedOperation = 0;
break;
}
}
selectedNumber = 0;
calcScreen.text = [NSString stringWithFormat:@"%2g", result];
if ([sender tag] == 0) result = 0;
selectedOperation = [sender tag];
}
-(IBAction)clearNumber:(id)sender {
selectedNumber = 0;
calcScreen.text = @"0";
}
-(IBAction)clearOperation:(id)sender {
selectedNumber = 0;
calcScreen.text = @"0";
selectedOperation = 0;
}
ここ
#import <UIKit/UIKit.h>
@interface CalcViewController : UIViewController {
float result;
float selectedNumber;
int selectedOperation;
IBOutlet UILabel *calcScreen;
}
-(IBAction)numberPressed:(id)sender;
-(IBAction)operationPressed:(id)sender;
-(IBAction)clearNumber:(id)sender;
-(IBAction)clearOperation:(id)sender;
@end
は私の実装ファイルでありますしかし、これは私にとってはうまくいかないようでした。実際に小数点を入力させることになりますが、2番目の数値を入力すると小数点が失われます。誰も私がしようとしているものを達成するために実装することができる方法を提案することはできますか?
事前に乾杯!
この質問にはどのような解決策が見つかりましたか? – lakesh