電卓を作成していて、演算子が複数出てくる式の計算の処理で躓いています。
数字や演算子ボタンを押下するとTextBoxに式が表示されるようにはなったのですが、
BtnEqual_Clickメソッドでの処理で
演算子の後にオペランドがありませんとエラーが出てしまいます。
例) 3+5*20-7
と表示されているものを計算させたいと考えております。(293と表示させる)
現段階では積、徐を優先的にさせる必要はなく、左から順に計算させるところまでで十分です。
public partical class Form1 : Form { private String _TxtNumber = "0"; public Form1() { IntializeComponent(); } //数字を押したときの処理 private void BtnNumber_Click(object sender, EventArgs e) { //(Button)senderの意味が分からない Button BtnNumber = (Button)sender; textBox1.Text = textBox1.Text + BtnNumber.Text; _TxtNumber = textBox1.text; } //演算子を押したときの処理 private void BtnOperator_Click(object sender, EventArgs e) { Button BtnOperator = (Button)sender; textBox1.Text = _TxtNumber + BtnOperator.Text; } //イコールを押したときの処理 private void BtnEqual_Click(object sender, EventArgs e) { dynamic valResult = new Datable().Compute(textBox.Text, null); textBox.Text = valResult.ToString(); } }
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。