System.FormatException : Input string was not in a correct format ,on converting string to decimal.

85,480

Solution 1

Try using "0,85" instead of "0.85". I think you can use the dot decimal if you change culture. Here is some more information: How to change symbol for decimal point in double.ToString()?

Solution 2

Please try with the below code snippet.

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

user2855304

Updated on April 18, 2020

Comments

  • user2855304
    user2855304 about 4 years

    I have a little problem with ASP.NET and C#. This is my error code:

    An exception of type 'System.FormatException' occurred in mscorlib.dll but was not handled in >user code

    Additional information: Input string was not in a correct format.

    protected void Page_Load(object sender, EventArgs e)
    {
        if(this.IsPostBack == false)
        {
            Currency.Items.Add(new ListItem("Euro", "0.85"));
            Currency.Items.Add(new ListItem("Yen", "11.30"));
            Currency.Items.Add(new ListItem("PLN", "4.20"));
            Currency.Items.Add(new ListItem("GBP", "5.62"));
        }
    }
    
    protected void Convert_Click(object sender, EventArgs e)
    {
        decimal oldAmount;
        bool succes = Decimal.TryParse(TextBox.Value, out oldAmount);
    
        if(succes)
        {
            ListItem item = Currency.Items[Currency.SelectedIndex];
            decimal newAmount = oldAmount * decimal.Parse(item.Value);
            Result.InnerText = "Result: " + newAmount;
        }
    
    }
    

    I tried Decimal.Parse, Decimal.TryParse and other strange combinations. Now I'm sure that issue is with strings and parsing them to decimal. When I created String variable - there was that same error while parsing. So can someone tell me what to do to be able to convert String to decimal?

  • Jayesh Goyani
    Jayesh Goyani about 10 years
    Same answer is already provided by '@David Brossard' before 3 minutes.
  • user2855304
    user2855304 about 10 years
    The problem is not with TextBox - Im using html controls so TextBox as ID works just fine. The problem is in Decimal.Parse(SomeString).
  • Jayesh Goyani
    Jayesh Goyani about 10 years
    please provide your textbox's value.
  • user2855304
    user2855304 about 10 years
    I don't use textbox. On this page I was using <input type="text" id="TextBox" runat="server" />. Anyway - Sn1ckers help me with the issue - problem was in my culture sign. Instead of 0.85 i should use 0,85.