所以我目前的代码中遇到了一个关于BMI计算器的小问题。我在这里搜索了其他BMI计算器主题,它们似乎都没有帮助我。请记住,我是ASP.Net的新手,还没有真正掌握任何东西!我被告知JS会让我的生活更轻松,但我必须在ASP.net中这样做。
对于BMI计算器,我使用的是英尺,英寸和磅的标准测量值。有三个文本框可以保存这些信息。对于我的代码的计算部分,我希望事件处理程序检查是否只在文本框中输入数值,然后计算个人BMI。然后计算结果应出现在标题为“结果”的第四个文本框中。以下代码就我所知。
//*************Event Handler for the calculation portion*****************
void calcUS_Click(object sender, EventArgs e)
{
string Heightinfeet = heightus.Text;
string Heightininches = heightus1.Text;
string Weight = weightus.Text;
double number;
string bmi = resultus.Text;
bool isHeightinfeet = Double.TryParse(Heightinfeet, out number);
bool isHeightininches = Double.TryParse(Heightininches, out number);
bool isWeight = Double.TryParse(Weight, out number);
if (isHeightinfeet && isHeightininches && isWeight)
{
bmi = (Weight / ((Heightinfeet * 12) + Heightininches)) * ((Heightinfeet * 12) + Heightininches))) * 703);
}
else
{
Response.Write("Please type a numeric value into each of the text boxes.");
}
}
//*****************End of calculation Event Handler*******************
除了
的实际计算部分之外,一切似乎都在起作用if (isHeightinfeet && isHeightininches && isWeight)
{
bmi = (Weight / ((Heightinfeet * 12) + Heightininches)) * ((Heightinfeet * 12) + Heightininches))) * 703);
}
在上面的公式中,当我将鼠标悬停在“Heightinfeet”和“Heightininches”
上时,我得到“运算符”错误*“不能应用于'string'或'int'类型的操作数”答案 0 :(得分:0)
这是我无法进行的重构
int Heightinfeet;
double Heightininches;
double Weight;
if (int.TryParse(heightus.Text, out Heightinfeet) &&
Double.TryParse(heightus1.Text, out Heightininches) &&
Double.TryParse(weightus.Text, out Weight))
{
bmi = (Weight / ((Heightinfeet * 12) + Heightininches)) * ((Heightinfeet * 12) + Heightininches))) * 703);
}
答案 1 :(得分:0)
是的,您无法对int
进行“*”操作,在这种情况下,数字为“12”,字符串在这种情况下为Heightinfeet
所以你应该首先将字符串解析成int或double来使用。
(int.Parse(Heightinfeet) * 12)
或者它是双(double.Parse(Heightinfeet) * 12)