I have a method which returns numbers like this:
public decimal GetNumber()
{
return 250.00m;
}
Now when this value is printed to the console for example, it has a comma (250,00) instead of a point (250.00). I always want a point here, what am I doing wrong?
I have checked it with visual studio 2008 (console application) and its not showing "," instead of "." , please provide more details. I think its issue of culture-info. please provide some more code details
Locale-specific formatting?
http://en.wikipedia.org/wiki/File:DecimalSeparator.svg (Green equals a comma, so if you are calling
ToString()
on your decimal using the culture info of any of these locations, you will see a comma).decimal
itself doesn't have formatting - it has neither a comma nor a dot.It's when you convert it to a string that you'll get that. You can make sure you get a dot by specifying the invariant culture:
As explained by Jon Skeet, you should specify the culture used to format the
string
:It's a good practice to always use the
ToString
overload in which you specify the culture. Otherwise,.NET
use the current threadCulture
, which would write differentstrings
to the output according to the locale of thePC
...