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, formatted using the ‘plain’ style, then the letter ‘e’, followed by a signed 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.