#764 – Current Culture Is Used When Converting Data to A String
February 26, 2013 2 Comments
The CurrentCulture property of a Thread object indicates a user’s current locale, as set in the Region applet. This value can normally be thought of as indicating the user’s location.
If you convert either numeric or date data to a string, the formatting used will depend on the current locale, as set in the Region applet and reported by the CurrentCulture property.
For example:
double d1 = 123.456; DateTime date1 = DateTime.Now; string output = string.Format("123.456 => {0}\nNow => {1}", d1.ToString(), date1.ToString()); MessageBox.Show(output);
If we run this code when our region is set to English (United States), we get:
But now if we switch our region to French (France) and re-run the application, we get:
Notice that the decimal point is now displayed as a comma (,) and the date format is dd/mm, rather than mm/dd.