# 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()`

.