# Number notation¶

There are many different ways of writing a number, depending on culture and context.

Numbas can interpret and display numbers in several styles.

## Styles of notation¶

Numbas supports the following styles of notation. The entry in the “Code” column is the string you should use to identify the style in JME or JavaScript code.

Style Code Description Example
English (plain) plain Powers of 1000 not separated, and a dot is used for the decimal mark. 1234567.890123
English en Positive powers of 1000 are separated with commas, and a dot is used for the decimal mark. 1,234,567.890123
SI (English) si-en Powers of 1000 are separated with spaces, and a dot is used for the decimal mark. 1 234 567.890 123
SI (French) si-fr Powers of 1000 are separated with spaces, and a comma is used for the decimal mark. 1 234 567,890 123
Continental eu Positive powers of 1000 are separated with dots, and a comma is used for the decimal mark. 1.234.567,890123
Continental (plain) plain-eu Powers of 1000 are not separated, and a comma is used for the decimal mark. 1234567,890123
Swiss ch Positive powers of 1000 are separated with apostrophes, and a dot is used for the decimal mark. 1‘234‘567.890123
Indian in Groups of digits in the integer part are separated with commas. The rightmost group is three digits, and other digits are grouped in pairs. A dot is used for the decimal mark. 12,34,567.890123
Scientific scientific A mantissa between 1 and 10, then the letter ‘e’, followed by an integer exponent 1.234567e+6

Warning

Note that some styles conflict with each other: for example, 1.234 is a number between 1 and 2 in English, while it’s the integer 1234 in French.

In the JavaScript runtime, these styles are defined in Numbas.util.numberNotationStyles.

## Numbers in JME¶

In JME code, and Mathematical expression parts, numbers are written in the “English (plain)” form only.

You can parse a string representing a number written in a different style using the parsenumber() function, and display it using a particular style using the formatnumber() function, or by giving a style code to dpformat() or sigformat().