Question: I'm a bit stuck: I am trying to perform an if statement comparing a label.text that originally has a currency string created from `.ToString("C");`

and a decimal. I have tried converting the label to decimal since I'm going to be comparing it to a decimal but it keeps triggering an exception: 

> 
> Input string was not in a correct format.
> 
> 
> 

here is my current code:

```
if(Convert.ToDecimal(SomeLabel.Text) > 1000.00m) { //DO SOMETHING } 
//SomeLabel.Text has a value of $1000.00

```

Answer: 
> 
> //SomeLabel.Text has a value of $1000.00
> 
> 
> 

The dollar sign is the reason for the issue. Yoa are probably using a different currency symbol. You can force it with `decimal.Parse`/`decimal.TryParse`(which handles invalid input):

```
string input = "$1000.00";
decimal decimalValue;
if(decimal.TryParse(input, out decimalValue))
{
    // using current CurrencySymbol, same as Convert.ToDecimal
    Console.WriteLine("Converted successfully: " + decimalValue);
}
else
{
    var usCulture = new CultureInfo("en-US");
    if (decimal.TryParse(input, NumberStyles.Currency, usCulture, out decimalValue))
    {
        // using dollar sign as CurrencySymbol
        Console.WriteLine("Converted successfully with CultureInfo(en-US): " + decimalValue);
    }
    else
    {
        Console.WriteLine("Could not be parsed to decimal");
    }
}

```

Output:

```
Converted successfully with CultureInfo(en-US): 1000.00

```

It's worth noting that `NumberFormatInfo.InvariantInfo.CurrencySymbol` does not return the dollar sign(what i thought) but `¤`.
Take the Dollar Sign off of your text first:

Source: $1000

```
double result = 0M;
String value = SomeLabel.Text.Substring(1);
if (Double.TryParse(value, out result)) {
    //
}
return result;

```