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) 

Powers of 1000 not separated, and a dot is used for the decimal mark. 
1234567.890123 
English 

Positive powers of 1000 are separated with commas, and a dot is used for the decimal mark. 
1,234,567.890123 
SI (English) 

Powers of 1000 are separated with spaces, and a dot is used for the decimal mark. 
1 234 567.890 123 
SI (French) 

Powers of 1000 are separated with spaces, and a comma is used for the decimal mark. 
1 234 567,890 123 
Continental 

Positive powers of 1000 are separated with dots, and a comma is used for the decimal mark. 
1.234.567,890123 
Continental (plain) 

Powers of 1000 are not separated, and a comma is used for the decimal mark. 
1234567,890123 
Swiss 

Positive powers of 1000 are separated with apostrophes, and a dot is used for the decimal mark. 
1’234’567.890123 
Indian 

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 

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
.