Zapnologica Zapnologica - 1 year ago 188
C# Question

c# double.parse() to always use a . period not comma

How can I specify that my decimal.Parse must always expect to receive a string with a '.' like "4.75" no mater what the system settings of the computer are?

I am reading in a file from excel and it gives me value with a '.' and I see that if I run my program on my laptop It throws and error as it expects a ','

I can use:

string tmp1 = tmp[2].Replace('.', ',');

but then obviously if my computer wants a ''. then it will give an error.

What is my best option?

Answer Source

See: Double.Parse

Use this overload to specify an IFormatProvider in your case CultureInfo.InvariantCulture.

var value = double.Parse(tmp[2], CultureInfo.InvariantCulture);

However I would recommend Double.TryParse if you intend to make your process durable.

double value;

   out value))
    // error handling
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download