19

In the US, it's very common to add a comma for numbers of more than 3 digits (ex: 1,000 for one thousand ; 1,000,000 for one million ; etc.).

In France though, we don't use this at all and commas are used for decimal numbers only (ex: 2,46).

Do you know which countries are following the US rule, and which countries are not? Where can I find resources on this?

11
  • 1
    "Cultural" arguably. Countries tend to adopt guidelines for usage when they adopt their official numerical system. For example, when decimilization was adopted by Australia in the late 60s, the government published ways in which numbers would be written. The guides included notes regarding preferences from various institutions (eg. banks). In effect, they were publishing a style guide for the country. Many other modern states have done similar. FYI.
    – gef05
    Jul 17, 2012 at 2:54
  • A part of the answer can found in this thread [International Currency Formatting Guidelines — Currency Codes][1] [1]: ux.stackexchange.com/questions/9105/…
    – ajayashish
    Jul 17, 2012 at 3:44
  • Most European countries have the comma as the decimal separator and the dot (period) as the thousand separator. Jul 17, 2012 at 6:18
  • 4
    Isn't this simply a language-dependent thing? I think most European languages use dots and comma's the other way around compared to English. English 1,000,000.00 would in Dutch be 1.000.000,00. Sometimes one also has spacing: 1 000 000.00.
    – gerrit
    Jul 17, 2012 at 8:32
  • 4
    FWIW: In Switzerland we usually use apostrophes (i.e. 1'000'000.00). And IMO it's the best solution because people don't mistake it for a decimal mark.
    – Phil
    Jul 17, 2012 at 11:12

4 Answers 4

31

Source - http://en.wikipedia.org/wiki/Decimal_mark

  • In Albania, Belgium, Bosnia, Estonia, France, Finland, Hungary, Poland, Czech Republic, Slovakia and much of Latin Europe as well as French Canada: 1 234 567,89 (In Spain, in handwriting it is also common to use an upper comma: 1.234.567'89)
  • In Brazil, Germany, Netherlands, Denmark, Italy, Portugal, Romania, Sweden, Slovenia, Greece and much of Europe: 1 234 567,89 or 1.234.567,89. In handwriting, 1˙234˙567,89 is also seen, but never in Denmark, the Netherlands, Portugal, Sweden or Slovenia. In Italy a straight apostrophe is also used in handwriting: 1'234'567,89.
  • In Switzerland: There are two cases. 1'234'567.89 is used for currency values. An apostrophe as thousands separator along with a "." as decimal symbol. For other values the SI style 1 234 567,89 is used with a "," as decimal symbol. When handwriting, a straight apostrophe is often used as the thousands separator for non-currency values: 1'234'567,89.
  • In English Canada, Ireland, Israel, Japan, Korea (both), Malaysia, New Zealand, Singapore, Taiwan, Thailand, the Philippines, the United Kingdom, and the United States: 1,234,567.89 or 1,234,567·89; the latter is generally found only in older, and especially handwritten, documents. Australia used this style up until the 1970s; now it uses the SI style.
  • SI style: 1 234 567.89 or 1 234 567,89 (in their own publications the dot is used in the English version and the comma in the French version).
  • In China, comma and space are used to mark digit groups because dot is used as decimal mark. There is no universal convention on digit grouping, so both thousands grouping and no digit grouping can be found. However, grouping can also be done every four digits: 123,4567.89, since names for large numbers in Chinese are based on powers of 10,000 (e.g. the next new word is for 108). Japan is similar.
  • In Mexico: 1'234,567.89; for million separator an apostrophe is used.
  • In India, due to a numeral system using lakhs (lacs) (1,00,000 equal to 100 000) and crores (1,00,00,000 equal to 10 000 000), comma is used at levels of thousand, lakh and crore, for example, 10 million (1 crore) would be written as 1,00,00,000.
4
  • 5
    To prevent linkrot, could you describe the conclusions from the resource you're linking to, rather than just pointing at it?
    – kastark
    Jul 17, 2012 at 7:56
  • 5
    ^sure absolutely. Done.
    – Jung Lee
    Jul 17, 2012 at 12:52
  • In Canada, some English sources (such as every math textbook I've ever seen) will also use spaces instead of commas, although most people use commas in their regular usage.
    – Joe Z.
    Apr 8, 2015 at 16:33
  • In addition, 4-digit numbers are generally written without any digit grouping at all, so "1000" instead of "1 000".
    – Joe Z.
    Apr 8, 2015 at 16:34
7

Yes, adding commas to numbers to separate the thousands is a cultural thing (UK and US) - just as using a comma or full stop (period) for the decimal separator is. In most European countries they just use a space to separate the thousands. So one million would be written like:

1,000,000

in the UK, but like:

1 000 000

in France.

If you are using .NET then you don't have to worry about this as the various number formatting rules are built into the framework. When converting a number to a string for output you pass the method the current culture and it does the rest.

Java has the same thing as will other frameworks and languages so all you need to do is keep track of the current culture - either read it from the machine or ask the user what culture they are and all number values (including currency) will be output in the correct format.

It also works the other way - the conversion of strings to numbers should take the culture into account so that the user can type the number how they normally would and given that the separators are optional 1,000,000 and 1000000 should both be converted to the same numeric value.

If you are storing numbers in a text file, eg a config file, then you need to make sure that they are written and read back using the same culture. You'd usually use an invariant culture to do this. If they're stored in a database as numbers, then you don't have to worry.

1
  • 2
    The fact that formatting rules magically change based off of locality doesn't mean "you don't have to worry about it", but more "you have to worry about what effect formatting changes will have on your code". For example, you output formatted numbers to a config file and read it somewhere else, or fail to test French formatting where the space is interpreted as the end of a token while the , wouldn't be, or ...
    – Yakk
    Apr 17, 2017 at 12:22
5

On my Linux there's a file for each locale. A quick search on them showed that these countries use a comma as thousand separator:

Algeria, Armenia, Australia, Bahrain, Bangladesh, Bhutan, Cambodia, Canada, China, Egypt, Ethiopia, Hong Kong, India, Iran, Islamic Republic Of, Iraq, Ireland, Israel, Jordan, Kenya, Kuwait, Lao People's Democratic Republic, Lebanon, Libyan Arab Jamahiriya, Malaysia, Maldives, Malta, Morocco, Myanmar, Nepal, New Zealand, Nigeria, Oman, Pakistan, Philippines, Qatar, Singapore, Somalia, Sri Lanka, Sudan, Syrian Arab Republic, Taiwan, Province Of China, Thailand, Tunisia, Turkmenistan, Uganda, United Arab Emirates, United Kingdom, United States, Uzbekistan, Yemen, Zambia.

3
  • This isn't an answer to the question, it's just a couple of links elsewhere. Can you summarize the answers from those links within this actual answer? If those pages go down or are inaccessible for whatever reason then this answer is of no use to visitors.
    – JonW
    Jul 17, 2012 at 8:02
  • 1
    The links were generated by me because they were too long to post here. But you're right. I parsed the result and summarized it in the answer. Jul 17, 2012 at 8:37
  • 1
    Great, thanks for updating this answer. It's now a genuinely useful (and interesting) answer rather than just being a link elsewhere. +1
    – JonW
    Jul 17, 2012 at 8:50
2

Here is a comprehensive list of all cultures Windows supports. By clicking on the left column link (Culture Identifier) you can see how its formated.

Number formatting

Currency formatting

Time formatting

Date formatting

Calendars

ie Algeria


Culture Identifier 0x1401

Culture Name ar-DZ

Locale Language Country/Region Arabic (Algeria)‎

Language Arabic

Local language name العربية (الجزائر)‏

ANSI codepage 720

OEM codepage 1256

Country or Region name abbreviation DZA

Language name abbreviation ARG

2
  • Sorry, why a downgrade? Can you give me feedback? As far as I know the question was "Where can I find resources on this?" Which I provided.
    – FrankL
    Jul 21, 2012 at 14:15
  • +1, I'll rescue you because you've provided NLS, but also look at ISO. Sep 25, 2012 at 6:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.