C# System.FormatException:将字符串转换为十进制时,输入字符串的格式不正确。

C# System.FormatException:将字符串转换为十进制时,输入字符串的格式不正确。,c#,asp.net,string,decimal,formatexception,C#,Asp.net,String,Decimal,Formatexception,我对ASP.NET和C#有点问题。这是我的错误代码: mscorlib.dll中发生“System.FormatException”类型的异常,但未在>用户代码中处理 其他信息:输入字符串的格式不正确 我尝试了Decimal.Parse、Decimal.TryParse和其他奇怪的组合。现在我确信问题在于字符串和将它们解析为十进制。当我创建字符串变量时,解析时也出现了同样的错误。有人能告诉我怎样才能将字符串转换成十进制吗?使用文本框。文本: bool succes = Decimal.TryPa

我对ASP.NET和C#有点问题。这是我的错误代码:

mscorlib.dll中发生“System.FormatException”类型的异常,但未在>用户代码中处理

其他信息:输入字符串的格式不正确


我尝试了Decimal.Parse、Decimal.TryParse和其他奇怪的组合。现在我确信问题在于字符串和将它们解析为十进制。当我创建字符串变量时,解析时也出现了同样的错误。有人能告诉我怎样才能将字符串转换成十进制吗?

使用文本框。文本:

bool succes = Decimal.TryParse(TextBox.Text, out oldAmount);

请尝试使用下面的代码段

CultureInfo info = CultureInfo.GetCultureInfo("es-ES");
string storedValue = "3,85";
decimal oldAmount;
bool succes = Decimal.TryParse(storedValue, NumberStyles.Any, info, out oldAmount);

TextBox.value错误。你的文本框。文本是正确的

bool success = Decimal.TryParse(TextBox.Text, out oldAmount);
尝试使用“0,85”而不是“0.85”。我认为如果你改变文化,你可以使用点十进制。 以下是更多信息:

TextBox.value错误。你的TextBoxID.Text是正确的。你试过调试吗?不,TextBox是我的id,因为我使用html控件。Jakob Christensen-是的,我看不到任何奇怪的东西。当应用程序联机时。。。它抛出错误,因为字符串的格式错误,但我不知道为什么。在
decimal newAmount=
行中,
项.Value
的字符串是什么样子的?在3分钟之前,“@David Brossard”已经给出了相同的答案。问题不在于TextBox-我使用html控件,所以TextBox作为ID工作正常。问题出在Decimal.Parse(SomeString)中。请提供文本框的值。我不使用文本框。在我使用的这个页面上。总之,Sn1ckers帮我解决了这个问题——问题出在我的文化符号上。我应该使用0,85而不是0.85。
bool success = Decimal.TryParse(TextBox.Text, out oldAmount);