![](/img/trans.png)
[英]Input String was not in correct format (CONVERTING STRING TO DECIMAL)
[英]Input string was not in a correct format (Decimal to String)
我试图将小数转换为我过去成功完成的字符串,但是由于某种原因,它决定现在不工作。 我真的无法理解它,我已经在SQL Management Studio中将其设置为十进制,并使用linq来诱使它通过它,但是由于人类未知的某些奇怪原因,它认为要求日期时间。
码:
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
tblTest t = new tblTest();
t.tDecimal = Convert.ToDecimal(tbxDecimal.ToString());
t.Add(t);
}
catch (Exception ex)
{
System.Diagnostics.Debug.Write(ex.Message);
}
}
有人可以帮我吗?
首先,您应该始终使用System.Decimal.TryParse()而不是Convert.ToDecimal()
其次,假设您使用某种形式的匈牙利符号,并且tbx在符号中表示“文本框”,那么您尝试转换的是文本框,而不是文本框中的文本。
代替
tbxDecimal.ToString()
你需要
tbxDecimal.Text.ToString()
最后,您是否设置了断点以找出您要转换的值实际上是什么? 它可能与您预期的不同。
可能是因为字符串使用点而不是逗号来代替,或者相反。
也许tbxDecimal.ToString()== string.Empty
? 如果字符串为空,则Decimal.Parse将引发异常
扩展Fredrik的答案:是否存在CultureInfo / Localization不匹配?
您为什么认为这是约会时间? 您可以发布实际的字符串吗?
注意小数点分隔符-'。' 与“,”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.