我收到错误“System.FormatException:输入字符串不正确”。
TextBox2.Text = objnm.rupees(Convert.ToInt64(Convert.ToDecimal(txtWOrds.Text.Trim())));
首先,您不需要将其转换为十进制 ( Convert.ToDecimal
),然后再转换为 Int64 ( Convert.ToIn64
)。
其次,如果txtWOrds.Text
不是数字或为空,则会出现此异常。确保它是一个数字。
第三,如果你的值是一个数字,那么你的问题就在某个地方objnm.rupees()
您应该检查输入以防其为空,string.IsNullOrEmpty(txtWOrds.Text)
然后继续解析textbox
.
此外,您应该使用TryParse
which 评估文本是否可以解析,如果为真,您可以使用out
此方法的参数值。
在您的情况下,如果TextBox
为空,它可能会失败。
此外,如果它与货币/货币有关,不确定您是否需要转换为Long
(那里似乎不匹配,请澄清。如果您想要一组特定的小数点,那么最好使用decimal.Round
)
删除Convert.Int64
并仅使用Convert.ToDecimal
(理想情况下您应该使用decimal.TryParse
)。另外,确保输入文本框包含正确的类型(十进制)
Decimal value = default(decimal);
bool isValid = decimal.TryParse(txtWOrds.Text.Trim(), out value);
if (isValid)
{
//your code using output 'value'
}