这是一个计算薪水的方法,经理和兼职推销员的字符串是正确的,但是在计算销售经理和兼职技术员的薪水时,下面加红部分就会提示:输入字符串的格式不正确。求教啊~~!
类中用来计算薪水的方法:
public double salaryPeo(string Position,int num)
{
if (Position =="兼职推销员") return 4 * num / 100;
else if (Position =="销售经理") return 5000 + num * 5 / 1000;
else if (Position == "兼职技术员") return 100 * num;
else return 8000;
}
button1中实例化之后开始计算的:
private void button1_Click(object sender, EventArgs e)
{
double salary;
string name=textBox1.Text ;
string ID;
string position;
//member m = new member();
members ms=new members(); //职位
if (this.radioButton4.Checked) { salary = ms.salaryPeo("兼职推销员", Convert.ToInt32(textBox2.Text)); position="兼职推销员";}
else
if (this.radioButton3.Checked) { salary = ms.salaryPeo("兼职技术员", Convert.ToInt32(textBox4.Text)); position = "兼职技术员"; }
else
if (this.radioButton2.Checked) { salary = ms.salaryPeo("销售经理", Convert.ToInt32(textBox3.Text)); position = "销售经理";
else {salary = 8000;position="经理";}
//读取ID
ID=ms.getID();
int NUM = Convert.ToInt32(ID );
//NUM = NUM + 1;
ms.setID(Convert.ToString (++NUM) );
//
Form4 f4 = new Form4(Convert.ToString(salary), Convert.ToString(name), Convert.ToString(ID), Convert.ToString(position ));
f4.Show();
}
类中用来计算薪水的方法:
public double salaryPeo(string Position,int num)
{
if (Position =="兼职推销员") return 4 * num / 100;
else if (Position =="销售经理") return 5000 + num * 5 / 1000;
else if (Position == "兼职技术员") return 100 * num;
else return 8000;
}
button1中实例化之后开始计算的:
private void button1_Click(object sender, EventArgs e)
{
double salary;
string name=textBox1.Text ;
string ID;
string position;
//member m = new member();
members ms=new members(); //职位
if (this.radioButton4.Checked) { salary = ms.salaryPeo("兼职推销员", Convert.ToInt32(textBox2.Text)); position="兼职推销员";}
else
if (this.radioButton3.Checked) { salary = ms.salaryPeo("兼职技术员", Convert.ToInt32(textBox4.Text)); position = "兼职技术员"; }
else
if (this.radioButton2.Checked) { salary = ms.salaryPeo("销售经理", Convert.ToInt32(textBox3.Text)); position = "销售经理";
else {salary = 8000;position="经理";}
//读取ID
ID=ms.getID();
int NUM = Convert.ToInt32(ID );
//NUM = NUM + 1;
ms.setID(Convert.ToString (++NUM) );
//
Form4 f4 = new Form4(Convert.ToString(salary), Convert.ToString(name), Convert.ToString(ID), Convert.ToString(position ));
f4.Show();
}
ToInt32的话,不能直接转换如"1.0"这样带小数点的数字
都这么写
是double类型的
你转成string 看看
我把ToInt32换成了ToDouble,但问题没有被解决哦,求教
我下面要用Convert.ToInt32(textBox3.Text)来计算薪水哦,而且他本来就是string类型的啊