用户在文本框中输入数字,值显示在图表上。我想确保用户在文本框中输入数字,所以我尝试了:
double xValue;
double yValue;
Double.TryParse(xTextBox.Text, out xValue);
Double.TryParse(yTextBox.Text, out yValue);
chart1.Series["data1"].Points.AddXY(xValue, yValue);
Double.TryParse()
验证用户是否输入数字,但我不确定当用户不输入数字时如何编码。 Double.TryParse()
会将xValue
或yValue
分配给0 - 但我也希望用户能够输入0值,因此我不能只编写类似
if (xValue!=0 && yValue!=0)...
像
这样的东西if (xTextBox.Text!="0") {
Double.TryParse(xTextBox.Text, out xValue);
}
看起来像笨拙的代码,只会获得更多。确保用户输入双倍的标准方法是什么?
答案 0 :(得分:1)
TryParse返回一个布尔值,如果转换成功则为true,如果失败则为false。
if (!Double.TryParse(xTextBox.Text, out xValue)) {
// handle a failure to convert here
}
答案 1 :(得分:1)
如果解析成功,Double.TryParse返回一个布尔值,你应该检查Double.TryParse的结果而不是xValue和yValue。
答案 2 :(得分:1)
首先,您需要考虑用户区域设置。例如,在美国,小数点分隔符为.
,在我的国家/地区为,
。因此,您需要在用户输入双精度值时指定格式,或者将,
替换为.
,然后使用Invariant culture
解析值。
第二个Double.TryParse
方法返回bool
值,您可以使用该值检查输入的值是否已成功解析为double。