1

我收到错误“System.FormatException:输入字符串不正确”。

TextBox2.Text = objnm.rupees(Convert.ToInt64(Convert.ToDecimal(txtWOrds.Text.Trim())));
4

4 回答 4

1

首先,您不需要将其转换为十进制 ( Convert.ToDecimal),然后再转换为 Int64 ( Convert.ToIn64)。

其次,如果txtWOrds.Text不是数字或为空,则会出现此异常。确保它是一个数字。

第三,如果你的值是一个数字,那么你的问题就在某个地方objnm.rupees()

于 2012-05-22T06:47:42.913 回答
1

您应该检查输入以防其为空,string.IsNullOrEmpty(txtWOrds.Text)然后继续解析textbox.

此外,您应该使用TryParsewhich 评估文本是否可以解析,如果为真,您可以使用out此方法的参数值。

在您的情况下,如果TextBox为空,它可能会失败。

此外,如果它与货币/货币有关,不确定您是否需要转换为Long(那里似乎不匹配,请澄清。如果您想要一组特定的小数点,那么最好使用decimal.Round

于 2012-05-22T06:51:51.133 回答
0

删除Convert.Int64并仅使用Convert.ToDecimal(理想情况下您应该使用decimal.TryParse)。另外,确保输入文本框包含正确的类型(十进制)

于 2012-05-22T06:50:59.217 回答
0
  Decimal value = default(decimal);
  bool isValid = decimal.TryParse(txtWOrds.Text.Trim(), out value);
  if (isValid)
  {
        //your code using output 'value'             
  }
于 2012-05-22T06:59:13.227 回答