我已经在这个问题上工作了一段时间,但还是错过了显而易见的。我想确保如果文本框的值留空,不会抛出错误,而是在文本框中显示一个简单的消息。然而,我所拥有的和其他几种我尝试过的类似方法都没有起作用。我无法弄清楚为什么这不起作用以及我需要做什么不同的事情。
基础知识:
这是一个简单的计算器,允许用户输入他们的腰围、颈部和身高测量值,以使用一个公式计算他们的估计体脂百分比。除非一个字段留空,否则计算是正确的。
感谢任何帮助!
我的代码:
if (TBWaist.Text == null || TBNeck.Text == null || TBHeight.Text == null)
{
TBBodyFat.Text = "Value missing";
}
else
if (TBWaist.Text != null & TBNeck.Text != null & TBHeight.Text != null)
{
double waist;
double neck;
double height;
waist = Convert.ToDouble(TBWaist.Text);
neck = Convert.ToDouble(TBNeck.Text);
height = Convert.ToDouble(TBHeight.Text);
TBBodyFat.Text = Convert.ToString(String.Format("{0:p2}", ((501.5 / (1.0324 - .19077 * (Math.Log10(waist - neck)) + .15456 * (Math.Log10(height))) - 450) / 100)));
错误信息
如果我把腰围文本框留空,就会收到这个错误消息。如果我留空其他任何文本框,也会收到同样的错误。
第45行输入字符串格式不正确。
waist = Convert.ToDouble(TBWaist.Text);
TryParse
之前对Text
调用Trim
。 - Steven Sudit"12345.6789"
还是"12345.6789 "
或者" 12345.6789 "
,都可以被正确解析。 - Thomas