When we try to parse this value to a numeric value, user separator can be a problem.
For example on my computer when i run the following code block:
string valueWithDot = "2.5";
string valueWithComma = "2,5";
Console.WriteLine(decimal.Parse(valueWithDot));
Console.WriteLine(decimal.Parse(valueWithComma));
i see following results on the console
25
2,5
Here is the tricky function that i created to handle this problem :
public static void FixNumberDecimalSeparator(ref string value)
{
value = value.Replace(",", CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator)
.Replace(".", CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator);
}
When i use this function in the main function :
string valueWithDot = "2.5";
string valueWithComma = "2,5";
FixNumberDecimalSeparator(ref valueWithDot);
FixNumberDecimalSeparator(ref valueWithComma);
Console.WriteLine(decimal.Parse(valueWithDot));
Console.WriteLine(decimal.Parse(valueWithComma));
i see following results on the console
2,5
2,5
I hope this function will be useful for you.
0 comments:
Post a Comment