Skip to main content
Version: 1.1.2

CLDR.Units

availableUnits

Return an array of available units (UnitType).

Syntax

availableUnits(): UnitType[]

Example

const cldr = framework.get('en');
const units = cldr.Units.availableUnits();
for (const u of units.slice(0, 15)) {
log(u);
}
log('...');
acre
acre-foot
ampere
arc-minute
arc-second
astronomical-unit
atmosphere
bar
barrel
bit
british-thermal-unit
bushel
byte
calorie
carat
...

formatQuantity

Format a given unit quantity to string.

Syntax

formatQuantity(qty, options?): string

Parameters

Example

const cldr = framework.get('en');
const qty: Quantity = { value: '123.3799', unit: 'meter-per-second-squared' };
log(cldr.Units.formatQuantity(qty, { length: 'narrow', maximumFractionDigits: 2 }));

formatQuantityToParts

Format a given unit quantity to an array of parts.

Syntax

formatQuantity(qty, options?): Part[]

Parameters

Example

const cldr = framework.get('en');
const qty: Quantity = { value: '1353.75999', unit: 'mile-per-hour' };
log(cldr.Units.formatQuantityToParts(qty, { length: 'long' }));
[
  { type: 'integer', value: '1' },
  { type: 'group', value: ',' },
  { type: 'integer', value: '353' },
  { type: 'decimal', value: '.' },
  { type: 'fraction', value: '76' },
  { type: 'literal', value: ' miles per hour' }
]

formatQuantitySequence

Format a sequence of Quantity into a string.

Syntax

formatQuantitySequence(quantities, options?): string

Parameters

Example

const cldr = framework.get('en');
const qty: Quantity[] = [
{ value: 3, unit: 'mile' },
{ value: 1, unit: 'yard' },
{ value: 23, unit: 'foot' },
{ value: 9.6, unit: 'inch' }
];
const options: UnitFormatOptions[] = [
{ length: 'long' },
{ length: 'short' },
{ length: 'narrow' }
];
for (const opt of options) {
const result = cldr.Units.formatQuantitySequence(qty, opt);
log(result);
}
3 miles, 1 yard, 23 feet, 9.6 inches
3 mi, 1 yd, 23 ft, 9.6 in
3mi 1yd 23′ 9.6″

formatQuantitySequenceToParts

Format a sequence of Quantity into an array of parts.

Syntax

formatQuantitySequenceToParts(quantities, options?): string

Parameters

Example

const cldr = framework.get('en');
const qty: Quantity[] = [
{ value: 3, unit: 'mile' },
{ value: 1, unit: 'yard' },
{ value: 23, unit: 'foot' },
{ value: 9.6, unit: 'inch' }
];
log(cldr.Units.formatQuantitySequenceToParts(qty, { length: 'short' }));
[
  { type: 'integer', value: '3' },
  { type: 'literal', value: ' mi' },
  { type: 'literal', value: ', ' },
  { type: 'integer', value: '1' },
  { type: 'literal', value: ' yd' },
  { type: 'literal', value: ', ' },
  { type: 'integer', value: '23' },
  { type: 'literal', value: ' ft' },
  { type: 'literal', value: ', ' },
  { type: 'integer', value: '9' },
  { type: 'decimal', value: '.' },
  { type: 'fraction', value: '6' },
  { type: 'literal', value: ' in' }
]

getUnitDisplayName

Return a string containing the unit display name.

Syntax

getUnitDisplayName(unit, length?): string

Parameters

  • name: UnitType
    • Name of the unit
  • length?: UnitLength
    • Length of the name, defaults to "long"

Example

const w = (s: string) => `${s}${' '.repeat(15 - s.length)}`;

const en = framework.get('en');
const de = framework.get('de');
const zh = framework.get('zh');

const units: UnitType[] = [
'light-year',
'kilogram',
'meter',
'kilowatt',
'hertz'
];
for (const unit of units) {
const a = en.Units.getUnitDisplayName(unit);
const b = de.Units.getUnitDisplayName(unit);
const c = zh.Units.getUnitDisplayName(unit);
log(`en=${w(a)} de=${w(b)} zh=${w(c)}`);
}
en=light years      de=Lichtjahre       zh=光年             
en=kilograms        de=Kilogramm        zh=千克             
en=meters           de=Meter            zh=米              
en=kilowatts        de=Kilowatt         zh=千瓦             
en=hertz            de=Hertz            zh=赫兹