Just something that i was wondering about. In Europe the comma us mostly used for decimals (like 20,001) but outside Europe the point is mostly used (like 20.001) How does c# handle this ? In case of a application that will be used by Europe and non-Europe people, do you need to worry about the above when programming ?
Just curious about this.
United States (U.S.) currency is formatted with a decimal point (.) as a separator between the dollars and cents. Some countries use a comma (,) instead of a decimal to indicate that separation.
Leibniz was an influential mathematician, and the dot as a multiplication sign became widespread in Europe. But this solution created another problem: The dot as a multiplication sign could be confused with the decimal point. So, European mathematicians started to use a comma to separate decimals.
As far as the programming language is concerned, the decimal point separator is always .
, and the punctuation used to separate function arguments is always ,
. Changing that based on the spoken language of the programmer would be too confusing.
For the user interface, there are formatting functions in the CultureInfo
class that can produce a floating point number representation that uses the decimal point separator and thousands separator of your choice. (Or, for cultures that group digits of a number differently than in triplets, the formatting functions can handle that too.)
CultureInfo handles that situation.
Take a look at this
// format float to string
float num = 1.5f;
string str = num.ToString(CultureInfo.InvariantCulture.NumberFormat); // "1.5"
string str = num.ToString(CultureInfo.GetCultureInfo("de-DE").NumberFormat); // "1,5"
Yes, c# (and really, the whole .NET framework) have the concept of Cultures for this purpose:
http://msdn.microsoft.com/en-us/library/bz9tc508.aspx
and
http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo(v=VS.100).aspx
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