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?
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;
if(!double.TryParse(tmp[2],
NumberStyles.None,
CultureInfo.InvariantCulture,
out value))
{
// error handling
}
Use Double.Parse Method (String, IFormatProvider)
with CultureInfo.InvariantCulture
for parsing.
double d = double.Parse("2.2", CultureInfo.InvariantCulture);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With