C#计算器,等号老不对?帮忙写个等号的代码.private void button28_Click(object sender,EventArgs e)//等号{Single r;string t = textBox1.Text;int space = t.IndexOf(' ');\x05\x05\x05//搜索空格位置string s1 = t.Substring(0,space);\x05\

来源:学生作业帮助网 编辑:作业帮 时间:2024/08/16 18:46:28
C#计算器,等号老不对?帮忙写个等号的代码.private void button28_Click(object sender,EventArgs e)//等号{Single r;string t = textBox1.Text;int space = t.IndexOf(' ');\x05\x05\x05//搜索空格位置string s1 = t.Substring(0,space);\x05\
xUQOV+wC0vDRaSҡ Ŗ@&:Җ@AP0֑mU/mvN {ۃ-{w{qLn<;rZ{d륝[5ZEnr!HqBC*Nb e^E8gy*_HHCאRV#J,&}P[sLCo#Sݬun6qB{ k]/QEPW%]h@Ws:iu|hζ{D?#k_'u+VY}LL$EI2pҋXѸii?E(X!$S~E z.DVȬclذj_ yG~+~A@[1 o:N !U lOn_ CuFBw"EI~hoRJ4}'Ns_Ji$b$9+Äb +e5;QӘi"EN|pbhPJK*J%tCD-%ofXv>Ye?|Vfk}_F`aωm CCM s=?W1wfֺ{: 0h`&Tޥ-i7$:-CKN }3هVPJ U8 Df*_D QH[ [sD%Gpަsd*Wܶ|L ^s[EPjAhۆhG9rе{NYܿOBBl ͳgvs3h+?M&R-+n~U(_/83H4p[D ]㦕3Z2r`+bbτĪ*cNL9~4QJmnC/q|L? }#`<Zʓ }ؐ52d՟=%ja+1j7=t+V

C#计算器,等号老不对?帮忙写个等号的代码.private void button28_Click(object sender,EventArgs e)//等号{Single r;string t = textBox1.Text;int space = t.IndexOf(' ');\x05\x05\x05//搜索空格位置string s1 = t.Substring(0,space);\x05\
C#计算器,等号老不对?
帮忙写个等号的代码.
private void button28_Click(object sender,EventArgs e)//等号
{
Single r;
string t = textBox1.Text;
int space = t.IndexOf(' ');\x05\x05\x05//搜索空格位置
string s1 = t.Substring(0,space);\x05\x05//s1保存第一个运算数,Substring(0,space)指定字符串的长度.0表示开始,space表示结束.
char op = Convert.ToChar(t.Substring(space + 1,1));//op保存运算符 convert 函数 用来转换数据类型
string s2 = t.Substring(space + 3,space);\x05//s2保存第二个运算数(Substring(space + 3,1)中”1”应改为space)
Single arg1 = Convert.ToSingle(s1);
Single arg2 = Convert.ToSingle(s2);\x05//将运算数从string转换为single
switch (op)
{
case '+':r = arg1 + arg2; break;
case '-':r = arg1 - arg2; break;
case '*':r = arg1 * arg2; break;
case '/':
if (arg2 == 0)
{
throw new ApplicationException("除0错误");
}
else { r = arg1 / arg2; } break;
default:throw new ApplicationException();
}
textBox1.Text = r.ToString();
这是我的,点等号的时候,老是出现:string s1 = t.Substring(0,space);说这句长度不能小于0.要给这个textbox一个初始值么?我的是VS2005

C#计算器,等号老不对?帮忙写个等号的代码.private void button28_Click(object sender,EventArgs e)//等号{Single r;string t = textBox1.Text;int space = t.IndexOf(' ');\x05\x05\x05//搜索空格位置string s1 = t.Substring(0,space);\x05\
我建议你不要用SubString这样处理输入,毕竟输入几个空格不是你说设定死了的
最好还是把参数分开输入,然后验证,然后运算
public void ShowOperationResult()
{
double[] para = new double[2];
if (!double.TryParse(this.txtBox1.Text.Trim(),out para[0]))
{
MessageBox.Show("输入的第一个参数不合法.");
}
if (!double.TryParse(this.txtBox3.Text.Trim(),out para[1]))
{
MessageBox.Show("输入的第一个参数不合法.");
}
switch (this.txtBox2.Text.Trim())
{
// do operation
case "+":
case "-":
case "*":
case "/":
default:MessageBox.Show("sth");
}
}