Class that implements formatting and parsing of numbers and Dates.
By default, Globalize uses the American English culture. To switch cultures, include the appropriate wijmo.culture.*.js file after the wijmo files.
The example below shows how you can use the Globalize class to format dates, times, and numbers in different cultures:
Formats a number or a date.
The format strings used with the format function are similar to the ones used by Globalize.js and by the .NET Globalization library. The tables below contains links that describe the formats available:
Number or Date to format (all other types are converted to strings).
Format string to use when formatting numbers or dates.
Whether to remove trailing zeros from numeric results.
Whether to truncate the numeric values rather than round them.
A string representation of the given value.
Formats a date using the current culture.
var d = new Date(2015, 9, 1); // Oct 1, 2015 console.log(wijmo.Globalize.format(d, '"FY"EEEE"Q"U') + ' (US culture)'); > FY2016Q1 (US culture)
Another addition is available for dealing with complex eras such as those defined in the Japanese culture:
Number or Date to format.
.NET-style Date format string.
A string representation of the given date.
Formats a number using the current culture.
Numeric format strings take the form Axxsscc, where:
The following table describes the standard numeric format specifiers and displays sample output produced by each format specifier for the default culture.
formatNumber(1234.5, 'n2') => '1,234.50'
formatNumber(1234.5, 'f2') => '1234.50'
g General (no trailing zeros):
formatNumber(1234.5, 'g2') => '1234.5'
d Decimal (integers):
formatNumber(-1234, 'd6') => '-001234'
x Hexadecimal (integers):
formatNumber(1234, 'x6') => '0004d2'
formatNumber(1234, 'c') => '$ 1,234.00'
formatNumber(0.1234, 'p2') => '12.34 %'
The scaling specifier is especially useful when charting large values. For example, the markup below creates a chart that plots population versus GDP. The raw data expresses the population is units and the GDP in millions. The scaling specified in the axes formats causes the chart to show population in millions and GDP in trillions:
<wj-flex-chart items-source="countriesGDP" binding-x="pop" chart-type="Scatter"> <wj-flex-chart-series name="GDP" binding="gdp"></wj-flex-chart-series> <wj-flex-chart-axis wj-property="axisX" title="Population (millions)" format="n0,,"> </wj-flex-chart-axis> <wj-flex-chart-axis wj-property="axisY" title="GDP (US$ trillions)" format="c0,,"> </wj-flex-chart-axis> </wj-flex-chart>
The format string may also include constant prefix and a suffix strings to be added to the output. If present, the prefix and suffix are specified as double-quoted strings at the start and at the end of the format string:
Globalize.formatNumber(value, '"thousands: "c3," k"'); Globalize.formatNumber(value, '"millions: "c1,," M"');
Number to format.
.NET-style standard numeric format string (e.g. 'n2', 'c4', 'p0', 'g2', 'd2').
Whether to remove trailing zeros from the result.
Whether to truncate the value rather than round it.
A string representation of the given number.
Gets the first day of the week according to the current culture.
The value returned is between zero (Sunday) and six (Saturday).
Gets the symbol used as a decimal separator in numbers.
Parses a string into a Date.
Two-digit years are converted to full years based on the value of the calendar's twoDigitYearMax property. By default, this is set to 2029, meaning two-digit values of 30 to 99 are parsed as 19, and values from zero to 29 are parsed as 20.
You can change this threshold by assigning a new value to the calendar. For example:
// get calendar var cal = wijmo.culture.Globalize.calendar; // default threshold is 2029, so "30" is parsed as 1930 cal.twoDigitYearMax = 2029; var d1 = wijmo.Globalize.parseDate('30/12', 'yy/MM'); // dec 1930 // changing threshold to 2100, so all values are parsed as 20** cal.twoDigitYearMax = 2100; var d2 = wijmo.Globalize.parseDate('30/12', 'yy/MM'); // dec 2030
String to convert to a Date.
Format string used to parse the date.
Date to use as a reference in case date parts are missing form the input (e.g. when format = 'MM/dd').
The date represented by the given string, or null if the string cannot be parsed into a Date.
Parses a string into a floating point number.
String to convert to a number.
Format to use when parsing the number.
The floating point number represented by the given string, or NaN if the string cannot be parsed into a floating point number.
Parses a string into an integer.
String to convert to an integer.
Format to use when parsing the number.
The integer represented by the given string, or NaN if the string cannot be parsed into an integer.