Template:Convert: Difference between revisions
meta>Jimp replacing none with off |
meta>Jimp |
||
Line 1: | Line 1: | ||
<includeonly>{{#ifeq:{{{sortable|}}}|on|{{ntsh|{{FORMATNUM:{{{1}}}|R}}}}}}{{convert/{{#if:1|{{{2}}}}}|{{FORMATNUM:{{{1}}}|R}}|{{#ifeq:{{#expr:{{{3|0}}}*0}}|0|0}}|{{{3|}}}|{{{4|}}}|{{{5|}}}|{{{6|}}}|{{{7|}}}|{{{8|}}}|r={{#ifeq:{{{sp}}}|us|er|re}}|d=L{{{lk|off}}}A | <includeonly>{{#ifeq:{{{sortable|}}}|on|{{ntsh|{{FORMATNUM:{{{1}}}|R}}}}}}{{convert/{{#if:1|{{{2}}}}}|{{FORMATNUM:{{{1}}}|R}}|{{#ifeq:{{#expr:{{{3|0}}}*0}}|0|0}}|{{{3|}}}|{{{4|}}}|{{{5|}}}|{{{6|}}}|{{{7|}}}|{{{8|}}}|r={{#ifeq:{{{sp}}}|us|er|re}}|d=L{{{lk|off}}}A{{{abbr|off}}}D{{{disp|b}}}S{{{adj|{{{sing|off}}}}}}|s={{{sigfig|}}}}}</includeonly><noinclude>{{Documentation}}</noinclude><!--testing code follows-->{{#ifeq:{{{disp}}}|/|{{convert/und}}}}{{convert/test/A{{{abbr|}}}}} |
Revision as of 00:41, 3 August 2011
This template is used on 1,030,000+ pages, or roughly 15257% of all pages. To avoid major disruption and server load, any changes should be tested in the template's /sandbox or /testcases subpages, or in your own user subpage. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them. |
See this information on copying this template and modifying it for use on another wiki. |
This template uses Lua: |
Template {{convert}} calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.
For example:
{{convert|2|km|mi}}
→ Template:Convert/kmTemplate:Convert/test/A (km entered, so converted into mile){{convert|7|mi|km}}
→ Template:Convert/miTemplate:Convert/test/A (mi entered, so converted into km)
Numbers can be rounded, units can be abbreviated into symbols:
{{convert|2|km|mi|2|abbr=on}}
→ Template:Convert/kmTemplate:Convert/test/Aon{{convert|7|mi|km|2|abbr=on}}
→ Template:Convert/miTemplate:Convert/test/Aon
Value ranges can be entered using |to|...
or |-|...
:
{{convert|2|to|5|km|mi}}
→ Template:Convert/toTemplate:Convert/test/A{{convert|2|-|5|km|mi}}
→ Template:Convert/-Template:Convert/test/A
Combined effect example:
{{convert|2|-|5|km|mi|2|abbr=on}}
→ Template:Convert/-Template:Convert/test/Aon{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}
→ Template:Convert/andTemplate:Convert/test/Aoff
Units to convert
Enter units to convert from into:
{{convert|1|lb|kg}}
→ Template:Convert/lbTemplate:Convert/test/A
- SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
- For "per" units, use "/" (slash): kg/ha
- For three-unit units, etc., see Category:Convert-like templates
Unit name or symbol (abbreviation): 1 pound or 1 lb?
By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):
{{convert|1|lb|kg}}
→ Template:Convert/lbTemplate:Convert/test/A
Using |abbr=in
is the reverse behaviour to the default:
{{convert|1|lb|kg|abbr=in}}
→ Template:Convert/lbTemplate:Convert/test/Ain
To abbreviate both or neither:
{{convert|1|lb|kg|abbr=on}}
→ Template:Convert/lbTemplate:Convert/test/Aon{{convert|1|lb|kg|abbr=off}}
→ Template:Convert/lbTemplate:Convert/test/Aoff
Convenience: {{cvt}} has |abbr=on
by default
Template {{cvt}} is the same as {{convert}}, except that it has |abbr=on
as the default behaviour. In {{cvt}}, all other options are available. So:
{{cvt|1|lb|kg}}
→ 1 lb (0.45 kg)
is equivalent to:
{{convert|1|lb|kg|abbr=on}}
→ 1 lb (0.45 kg)
Adjective: a 10-mile distance
Use |adj=on
to produce the adjectival (hyphenated) form:
A {{convert|10|mi|km|adj=on}} distance
→ A Template:Convert/miTemplate:Convert/test/A distance.
Default behaviour, for comparison:
{{convert|10|mi|km}} to go
→ Template:Convert/miTemplate:Convert/test/A to go.
|adj=on
does not produce hyphens with unit symbols, as per Manual of Style:
A {{convert|9|in|cm|adj=on|abbr=on}} nail
→ A Template:Convert/inTemplate:Convert/test/Aon nail.
Rounding: 100 ft is 30 m or 30.5 m or 30.48 m?
By definition, 100 ft equals Template:Convert/ftTemplate:Convert/test/A. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.
Default rounding
By {{Convert}} default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).
Examples of rounding | ||
---|---|---|
Input | Displays as | Note |
{{convert|123|ft|m|-1}} |
Template:Convert/ftTemplate:Convert/test/A | |
{{convert|123|ft|m}} |
Template:Convert/ftTemplate:Convert/test/A | same output as with 0 (below) |
{{convert|123|ft|m|0}} |
Template:Convert/ftTemplate:Convert/test/A | |
{{convert|123|ft|m|1}} |
Template:Convert/ftTemplate:Convert/test/A | |
{{convert|123|ft|m|2}} |
Template:Convert/ftTemplate:Convert/test/A | The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all. |
{{convert|500|ft|m|-1}} |
Template:Convert/ftTemplate:Convert/test/A | |
{{convert|500|ft|m}} |
Template:Convert/ftTemplate:Convert/test/A | same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used) |
{{convert|500|ft|m|0}} |
Template:Convert/ftTemplate:Convert/test/A | |
{{convert|500|ft|m|1}} |
Template:Convert/ftTemplate:Convert/test/A | |
{{convert|500|ft|m|2}} |
Template:Convert/ftTemplate:Convert/test/A | exact value is 152.4 m |
{{convert|500|ft|cm|-3}} |
Template:Convert/ftTemplate:Convert/test/A | |
{{convert|500|ft|cm}} |
Template:Convert/ftTemplate:Convert/test/A | same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used) |
{{convert|500|ft|cm|0}} |
Template:Convert/ftTemplate:Convert/test/A |
Convert supports four types of rounding:
Round to a given precision: use a precision number
Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of 1⁄10 to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.
Round to a given number of significant figures: |sigfig=
To specify the output number to be with n significant figures use |sigfig=<number>
:
{{convert|1200|ft|m|sigfig=4}}
→ Template:Convert/ftTemplate:Convert/test/A{{convert|1200|ft|m|sigfig=3}}
→ Template:Convert/ftTemplate:Convert/test/A{{convert|1200|ft|m|sigfig=2}}
→ Template:Convert/ftTemplate:Convert/test/A{{convert|1200|ft|m|sigfig=1}}
→ Template:Convert/ftTemplate:Convert/test/A
Default behaviour, for comparison:
{{convert|1200|ft|m}}
→ Template:Convert/ftTemplate:Convert/test/A
Setting |sigfig=
to a value less than 1 is meaningless:
{{convert|1200|ft|m|sigfig=0}}
→ Template:Convert/ftTemplate:Convert/test/A
Round to a multiple of 5: 15, 20, 25, ...
Using |round=5
rounds the outcome to a multiple of 5.
{{convert|10|m|ft}}
→ Template:Convert/mTemplate:Convert/test/A{{convert|10|m|ft|round=5}}
→ Template:Convert/mTemplate:Convert/test/A
Similar: using |round=25
rounds the outcome to a multiple of 25.
{{convert|10|m|ft}}
→ Template:Convert/mTemplate:Convert/test/A{{convert|10|m|ft|round=25}}
→ Template:Convert/mTemplate:Convert/test/A
Default behaviour, for comparison:
{{convert|10|m|ft|sigfig=4}}
→ Template:Convert/mTemplate:Convert/test/A
In a range, one can round each value individually to the default. Use |round=each
:
{{convert|10 x 200 x 3000|m|ft}}
→ Template:Convert/mTemplate:Convert/test/A{{convert|10 x 200 x 3000|m|ft|round=each}}
→ Template:Convert/mTemplate:Convert/test/A
Round to a multiple of a given fraction: 2 3⁄16 inch
Specify the desired denominator using |frac=<some positive integer>
. (Denominator is the below-the-slash number, for example the 3 in 1⁄3).
{{convert|5.56|cm|in|frac=16}}
→ Template:Convert/cmTemplate:Convert/test/A{{convert|8|cm|in|frac=4}}
→ Template:Convert/cmTemplate:Convert/test/A
The fraction is reduced when possible:
{{convert|8|cm|in|frac=100}}
→ Template:Convert/cmTemplate:Convert/test/A
Default behaviour uses decimal notation:
{{convert|5.56|cm|in}}
→ Template:Convert/cmTemplate:Convert/test/A
Rounding temperatures: °C, °F and K
In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.
{{convert|10,000|C|F K}}
→ Template:Convert/CTemplate:Convert/test/A{{convert|10,000.1|C|F K}}
→ Template:Convert/CTemplate:Convert/test/A{{convert|-272|C|F K}}
→ Template:Convert/CTemplate:Convert/test/A{{convert|-272|C}}
→ Template:Convert/CTemplate:Convert/test/A{{convert|100|C|F K}}
→ Template:Convert/CTemplate:Convert/test/A{{convert|0|C|F K}}
→ Template:Convert/CTemplate:Convert/test/A
The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template:Convert/C-changeTemplate:Convert/test/Aoff, and make the 32 degrees difference shown in (1) begin to seem off somehow.
Result (1) seems off until you set the significant figures yourself with |sigfig=
:
{{convert|10000|C|sigfig=5}}
→ Template:Convert/CTemplate:Convert/test/A
or you set the precision positionally, relative to the decimal point (zero being at the decimal point):
{{convert|10000|C|0}}
→ Template:Convert/CTemplate:Convert/test/A
The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.
Rounding input
There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by {{#expr:}}
or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.
To round the input to a specified number of digits after the decimal point, use one of the parameters:
|adj=ri0
|adj=ri1
|adj=ri2
|adj=ri3
Note that there is no |adj=ri-1
or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.
The default precision is computed based on the input, so an explicit output precision must usually be supplied:
{{convert|4.14159|mi|km|adj=ri0}}
→ Template:Convert/miTemplate:Convert/test/A (precisions are mismatched){{convert|4.14159|mi|km|0|adj=ri0}}
→ Template:Convert/miTemplate:Convert/test/A
In this case, if the input were rounded before conversion, a different result would be obtained:
{{convert|{{#expr:4.14159 round 0}}|mi|km|0}}
→ Template:Convert/miTemplate:Convert/test/A (double rounding)
Into multiple units: Template:Convert/CTemplate:Convert/test/A
Separate the multiple output units by a space:
{{convert|10|C|F K}}
→ Template:Convert/CTemplate:Convert/test/A{{convert|5|km|mi nmi}}
→ Template:Convert/kmTemplate:Convert/test/A
If the output unit names contain spaces, use +
as the separator.
See also:
- For multiple-unit options like 1 ft 5 in, see § In input and § In output.
Ranges of values
A range converts two values and separates them by your choice of words and punctuation.
A range: 6 to 17 kg (13 to 37 lb)
Range indicators are entered as the second parameter (between the values). Range separators can be:
Separator | Convert | Result | Notes |
---|---|---|---|
-
|
{{convert|3|-|6|ft}}
|
Template:Convert/-Template:Convert/test/A | Input can be hyphen (-) or en dash (–), output uses en dash |
– – (en dash)
|
{{convert|3|–|6|ft}}
|
Template:Convert/–Template:Convert/test/A | |
and
|
{{convert|3|and|6|ft}}
|
Template:Convert/andTemplate:Convert/test/A | |
and(-)
|
{{convert|3|and(-)|6|ft}}
|
Template:Convert/and(-)Template:Convert/test/A | |abbr=on abbreviates the first unit
|
and(-)|abbr=on
|
{{convert|3|and(-)|6|ft|abbr=on}}
|
Template:Convert/and(-)Template:Convert/test/Aon | |
or
|
{{convert|3|or|6|ft}}
|
Template:Convert/orTemplate:Convert/test/A | |
to
|
{{convert|3|to|6|ft}}
|
Template:Convert/toTemplate:Convert/test/A | |
to(-)
|
{{convert|3|to(-)|6|ft}}
|
Template:Convert/to(-)Template:Convert/test/A | |abbr=on abbreviates the first unit
|
to(-)|abbr=on
|
{{convert|3|to(-)|6|ft|abbr=on}}
|
Template:Convert/to(-)Template:Convert/test/Aon | |
to about
|
{{convert|3|to about|6|ft}}
|
Template:Convert/to aboutTemplate:Convert/test/A | |
+/-
|
{{convert|3|+/-|6|ft}}
|
Template:Convert/+/-Template:Convert/test/A | |
± ±
|
{{convert|3|±|6|ft}}
|
Template:Convert/±Template:Convert/test/A | |
+
|
{{convert|3|+|6|ft}}
|
Template:Convert/+Template:Convert/test/A | |
,
|
{{convert|3|,|6|ft}}
|
Template:Convert/,Template:Convert/test/A | |
, and
|
{{convert|3|, and|6|ft}}
|
Template:Convert/, andTemplate:Convert/test/A | |
, or
|
{{convert|3|, or|6|ft}}
|
Template:Convert/, orTemplate:Convert/test/A | |
by
|
{{convert|3|by|6|ft}}
|
Template:Convert/byTemplate:Convert/test/A | |
x
|
{{convert|3|x|6|ft}}
|
Template:Convert/xTemplate:Convert/test/A | |abbr=on abbreviates and repeats the first unit
|
× ×
|
{{convert|3|×|6|ft}}
|
Template:Convert/×Template:Convert/test/A | |
x|abbr=on
|
{{convert|3|x|6|ft|abbr=on}}
|
Template:Convert/xTemplate:Convert/test/Aon | |
xx
|
|xx| is deprecated. Use |x| instead | ||
*
|
|*| is deprecated. Use |x| instead |
Multiple dimensions: Template:Convert/xTemplate:Convert/test/Aon
Use by
:
{{convert|6|by|12|ft|m}}
→ Template:Convert/byTemplate:Convert/test/A
Use ×
, multiplication sign, or x
, letter:
{{convert|6|x|12|m|ft}}
→ Template:Convert/xTemplate:Convert/test/A
In science, the formal way is to set |x|
and |abbr=on
(keeping dimensions right, like in area = x km2):
{{convert|6|x|12|m|ft|abbr=on}}
→ Template:Convert/xTemplate:Convert/test/Aon
Lists of values: 20, 40, or 60 miles
{{convert|20|,|40|, or|60|mi}}
→ Template:Convert/,Template:Convert/test/A
About feet, inch in ranges and multiples
While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:
{{convert|1|ft|3|in|x|3|ft|5|in|mm}}
→ Template:Convert/ftTemplate:Convert/test/A
Default behaviour, for comparison:
{{convert|1|ft|3|in|mm}}
→ Template:Convert/ftTemplate:Convert/test/A
However, converting metric units into feet and inches with |order=flip
can produce the desired output:
{{convert|380|x|1040|mm|ftin|order=flip}}
→ Template:Convert/xTemplate:Convert/test/A
Words
Spelling of unit name: international metre or US meter?
Default spelling of units is in the en (generic) locale. To show en-US spelling, use |sp=us
:
{{convert|1|m|ft}}
→ Template:Convert/mTemplate:Convert/test/A—default{{convert|1|m|ft|sp=us}}
→ Template:Convert/mTemplate:Convert/test/A
Spell out numbers: ten miles
To write a number in words, use |spell=in
:
{{convert|10|mi|m|spell=in}}
→ Template:Convert/miTemplate:Convert/test/A
To spell out both in and out values, use |spell=on
:
{{convert|10|mi|m|spell=on}}
→ Template:Convert/miTemplate:Convert/test/A
To make first letter a capital, use |spell=In
, |spell=On
{{convert|10|mi|m|spell=In}}
→ Template:Convert/miTemplate:Convert/test/A{{convert|10|mi|m|spell=On}}
→ Template:Convert/miTemplate:Convert/test/A
Remember that the spelling of the units (ft, m) is independently set by |abbr=
. To the extreme:
{{convert|10|mi|m|spell=on|abbr=off|sp=us}}
→ Template:Convert/miTemplate:Convert/test/Aoff
Inserted before units: 4 planted acres
{{convert|4|acre||adj=pre|planted}}
→ Template:Convert/acreTemplate:Convert/test/A
disp=preunit
is similar, but has no separator after the specified text, and can have different text for the output value:
{{convert|4|acre||disp=preunit|planted }}
→ Template:Convert/acreTemplate:Convert/test/A{{convert|4|acre||disp=preunit|planted |reforested-}}
→ Template:Convert/acreTemplate:Convert/test/A
After adjective unit: A Template:Convert/ftTemplate:Convert/test/A corridor
Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.
{{convert|10|ft|m|adj=mid|-long}}
→ Template:Convert/ftTemplate:Convert/test/A
Plurals: 1 inch, 2 inches
The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.
{{convert|1|metre}}
→ Template:Convert/metreTemplate:Convert/test/A{{convert|2|metre}}
→ Template:Convert/metreTemplate:Convert/test/A{{convert|2|metre|abbr=on}}
→ Template:Convert/metreTemplate:Convert/test/Aon
- Exception
Entering the unit spelled |foot|
forces singular output "foot", whatever the number is.
{{convert|100|foot|abbr=off}}
→ Template:Convert/footTemplate:Convert/test/Aoff
Fractions: one-eighth of an imperial pint
The convert template also supports spelling out fractions.
{{convert|3+1/2|oz|g|spell=in}}
→ Template:Convert/ozTemplate:Convert/test/A
Any additional words needed for the fraction can also be added at the end of the template.
{{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}
→ Template:Convert/impptTemplate:Convert/test/A
Wrapping and line breaking
Spelling out "thousands", "millions", etc.
Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).
{{convert|100|e6mi|e6km}}
→ Template:Convert/e6miTemplate:Convert/test/A{{convert|120|e6acre}}
→ Template:Convert/e6acreTemplate:Convert/test/A{{convert|120|e6acre|e3km2}}
→ Template:Convert/e6acreTemplate:Convert/test/A
To display both input and output in scientific notation, use |abbr=on
{{convert|100|e6mi|e6km|abbr=on}}
→ Template:Convert/e6miTemplate:Convert/test/Aon
To spell out "thousands", "millions", etc., |abbr=unit
abbreviates the unit; |abbr=off
displays both full unit names.
{{convert|100|e6mi|e6km|abbr=unit}}
→ Template:Convert/e6miTemplate:Convert/test/Aunit{{convert|100|e6mi|e6km|abbr=off}}
→ Template:Convert/e6miTemplate:Convert/test/Aoff
Numbers
Using an SI prefix: gigametre (Gm), or micrometre (μm)
Template:Sidebar metric prefixes (small)
Units can have an SI prefix like G
before the unit: Gm
, and giga
before the name: gigametre
. These are plain multiplication factors.
To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:
The prefix can be added before the SI unit (here: unit m
for metre):
{{convert|12|Gm|mi|abbr=on}}
→ Template:Convert/GmTemplate:Convert/test/AonMm
: Template:Convert/MmTemplate:Convert/test/Aonkm
: Template:Convert/kmTemplate:Convert/test/Aonmm
: Template:Convert/mmTemplate:Convert/test/Aonμm
: Template:Convert/μmTemplate:Convert/test/Aonum
: Template:Convert/umTemplate:Convert/test/Aon (letter "u" can be used for "μ" here)
The prefix can be used in the output unit:
{{convert|12000|mi|Mm|abbr=on}}
→ Template:Convert/miTemplate:Convert/test/Aon{{convert|12|in|μm|abbr=on}}
→ Template:Convert/inTemplate:Convert/test/Aon
As an exception, the non-SI unit "inch" can have the "μ" prefix too:
{{convert|12|μm|μin|abbr=on}}
→ Template:Convert/μmTemplate:Convert/test/Aon
Engineering notation: 7 × 106 m
In the unit: e6m
Engineering notation can be entered as a "prefix" to the unit:
{{convert|70|e6m}}
→ Template:Convert/e6mTemplate:Convert/test/Aon
The same is possible for the output unit:
{{convert|23,000,000|ft|e6m}}
→ Template:Convert/ftTemplate:Convert/test/A
Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:
e3
(thousand),e6
(million),e9
(billion),e12
(trillion),e15
(quadrillion).
Scientific notation: 1.23 × 10−14
In scientific notation, a number is written like 1.23×10−14. The plain number has exactly one digit before the decimal point.
With {{convert}}, the input can be in e-notation such as 12.3e4
. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.
{{convert|12.3e-15|atm|atm|abbr=on}}
→ Template:Convert/atmTemplate:Convert/test/Aon{{convert|0.00000005|atm|atm|abbr=on}}
→ Template:Convert/atmTemplate:Convert/test/Aon
Input with fractions: Template:Convert/inTemplate:Convert/test/A
The number to convert can be written in fractions. Both /
(keyboard slash) and ⁄
(fraction slash) are accepted:
{{convert|1/2|in|mm|1}}
→ Template:Convert/inTemplate:Convert/test/A{{convert|1⁄2|in|mm|1}}
→ Template:Convert/inTemplate:Convert/test/A
With positive mixed numbers (a positive integer and a fraction), use a +
sign
{{convert|2+1⁄2|in|mm|1}}
→ Template:Convert/inTemplate:Convert/test/A
With negative mixed numbers, use a hyphen -
and repeat it:
{{convert|-2-1⁄2|in|mm|1}}
→ Template:Convert/inTemplate:Convert/test/A
Note that the following cases are not interpreted as mixed numbers:
{{convert|2-1⁄2|in|mm|1}}
→ Template:Convert/inTemplate:Convert/test/A. This is interpreted as a range from 2 inches to 1⁄2 inch.{{convert|-2+1⁄2|in|mm|1}}
→ Template:Convert/inTemplate:Convert/test/A This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.
Horizontal fraction bar: 1/2 inch
Using a double slash (//
) provides a horizontal fraction bar for the original (input) unit:
{{convert|1//2|in|mm|1}}
→ Template:Convert/inTemplate:Convert/test/A{{convert|6+3//8|in|mm|1}}
→ Template:Convert/inTemplate:Convert/test/A
Using a negative value for |frac=
provides a horizontal fraction bar for the converted (output) unit:
{{convert|12.7|mm|frac=-2}}
→ Template:Convert/mmTemplate:Convert/test/A{{convert|161.9|mm|frac=-8}}
→ Template:Convert/mmTemplate:Convert/test/A
Thousands separator: 1,000 mi or 1000 mi
In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:
{{convert|1234567|m|ft}}
→ Template:Convert/mTemplate:Convert/test/A{{convert|1,234,567|m|ft}}
→ Template:Convert/mTemplate:Convert/test/A
Set |comma=off
to remove the separator from the output:
{{convert|1234567|m|ft|comma=off}}
→ Template:Convert/mTemplate:Convert/test/A
Use |comma=gaps
to use digit grouping by gap (thin space) as a thousands separator:
{{convert|1234567|m|ft|comma=gaps}}
→ Template:Convert/mTemplate:Convert/test/A
Default behaviour, for comparison:
{{convert|1234567|m|ft}}
→ Template:Convert/mTemplate:Convert/test/A
Setting |comma=5
will only add the separator when the number of digits is 5 or more:
{{convert|1234|m|ft|comma=5}}
→ Template:Convert/mTemplate:Convert/test/A{{convert|1234567|m|ft|comma=5}}
→ Template:Convert/mTemplate:Convert/test/A
Default behaviour, for comparison:
{{convert|1234|m|ft}}
→ Template:Convert/mTemplate:Convert/test/A
Output manipulation
Brackets and separators: 10 m [33 ft]
Punctuation that distinguishes the two measurements is set by |disp=
.
Options are: b
(the default), sqbr
, comma
, or
, br
, br()
, x|…
:
{{convert|10|m|ft|disp=sqbr}}
→ Template:Convert/mTemplate:Convert/test/A{{convert|10|m|ft|disp=comma}}
→ Template:Convert/mTemplate:Convert/test/A{{convert|10|m|ft|disp=or}}
→ Template:Convert/mTemplate:Convert/test/A
Default behaviour, for comparison:
{{convert|10|m|ft}}
→ Template:Convert/mTemplate:Convert/test/A
Setting |disp=br
will force a new line (<br/>
)
{{convert|10|m|ft|disp=br}}
→ Template:Convert/mTemplate:Convert/test/A
Also |disp=br()
will force a new line, and keep the brackets (useful in tables):
{{convert|10|m|ft|disp=br()}}
→ Template:Convert/mTemplate:Convert/test/A
Setting |disp=x|…
allows any text as separator:
{{convert|10|m|ft|disp=x|_MyText_}}
→ Template:Convert/mTemplate:Convert/test/A (To display spaces, use
)
Flipping (reordering) the two measurements: Template:Convert/miTemplate:Convert/test/Aoff
Setting |order=flip
will flip (swap) the two measurements:
{{convert|1|mi|m|order=flip}}
→ Template:Convert/miTemplate:Convert/test/Aoff
Default behaviour, for comparison:
{{convert|1|mi|m}}
→ Template:Convert/miTemplate:Convert/test/Aoff
When converting to multiple units, the effect is:
{{convert|10|km|mi nmi|order=flip}}
→ Template:Convert/kmTemplate:Convert/test/Aoff{{convert|10|km|nmi mi|order=flip}}
→ Template:Convert/kmTemplate:Convert/test/Aoff
Fixed ordering of output units: Template:Convert/CTemplate:Convert/test/Aon
Setting |order=out
shows the output-units as ordered; the input unit is skipped:
{{convert|100|C|F C K|abbr=on|order=out}}
→ Template:Convert/CTemplate:Convert/test/Aon{{convert|200|PS|kW hp|0|abbr=on|order=out}}
→ Template:Convert/PSTemplate:Convert/test/Aon
See also: § Displaying parts of the output.
Displaying parts of the result: Template:Convert/cuydTemplate:Convert/test/Avalues
It is possible to display only parts of the conversion result:
Convert | Output | Returns |
---|---|---|
{{convert|2|cuyd|m3}} |
Template:Convert/cuydTemplate:Convert/test/A | Regular output (for comparison) |
{{convert|2|cuyd|m3|abbr=values}}
|
Template:Convert/cuydTemplate:Convert/test/Avalues | Input and output numbers |
{{convert|2|cuyd|m3|disp=unit}} |
Template:Convert/cuydTemplate:Convert/test/A | Input unit |
{{convert|2|cuyd|m3|disp=unit|adj=on}} |
Template:Convert/cuydTemplate:Convert/test/A | Input unit, adjective (hyphenated) |
{{convert|2|cuyd|cuyd|disp=out}} |
Template:Convert/cuydTemplate:Convert/test/A | Input (workaround. Note repetition of unit in input) |
{{convert|2|cuyd|m3|abbr=~}} |
Template:Convert/cuydTemplate:Convert/test/A~ | Input: both name and symbol |
{{convert|2|cuyd|m3|disp=unit2}} |
Template:Convert/cuydTemplate:Convert/test/A | Output unit (symbol) |
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} |
Template:Convert/cuydTemplate:Convert/test/Aoff | Output unit (name) |
{{convert|2|cuyd|m3|disp=number}} |
Template:Convert/cuydTemplate:Convert/test/A | Output value |
{{convert|2|cuyd|m3|disp=out}} |
Template:Convert/cuydTemplate:Convert/test/A | Output value and unit name |
{{convert|2|cuyd|m3|disp=out|abbr=off}} |
Template:Convert/cuydTemplate:Convert/test/Aoff | Output value and unit symbol |
Display both input name and symbol: 2 kilopascals [kPa]
Setting |abbr=~
returns both name and symbol of the first (input) unit:
{{convert|2|kPa|psi|abbr=~}}
→ Template:Convert/kPaTemplate:Convert/test/A~A {{convert|2|kPa|psi|abbr=~|adj=on}} pressure
→ A Template:Convert/kPaTemplate:Convert/test/A~ pressure
Table options
For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.
Enforced line break
|disp=br
adds a line-break and omits brackets.
|disp=br()
adds a line-break and does add brackets to the converted value. This may be useful in tables:
|disp=br |
|disp=br()
|
---|---|
Template:Convert/kmTemplate:Convert/test/A | Template:Convert/kmTemplate:Convert/test/A |
Table columns
Using {convert} in a table cell, with |disp=table
splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the |abbr=
parameter. Multiple-unit outputs, like ftin
, always output their units to the table.
{{convert|10|m|ft|disp=table}}
→
Template:Convert/mTemplate:Convert/test/A
|disp=tablecen
does the same, and also centers the text:
{{convert|20|m|ft|disp=tablecen}}
→
Template:Convert/mTemplate:Convert/test/A
The units are added as a column header:
kilograms pounds stone and pounds |disp=table
Template:Convert/kgTemplate:Convert/test/A |disp=table
and|abbr=on
Template:Convert/kgTemplate:Convert/test/Aon |disp=table
and|abbr=off
Template:Convert/kgTemplate:Convert/test/Aoff |disp=tablecen
Template:Convert/kgTemplate:Convert/test/A |disp=<other>
(default)Template:Convert/kgTemplate:Convert/test/A
Sorting
Use |sortable=on
to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:
{{convert|10|m|ft|sortable=on}}
→<span data-sort-value="7001100000000000000♠"></span>10 metres (33 ft)
- showing: Template:NtshTemplate:Convert/mTemplate:Convert/test/A.
Use both |disp=table
and |sortable=on
together to produce table columns (pipe symbols) for each value in sortable columns:
The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.
Units
The conversion factors and physical constants are sourced here.
All units
The table below lists units supported by {{convert}}. More complete lists are linked for each dimension. For a complete list of all dimensions, see full list of units.
{{Convert}} uses unit-codes, which are similar to, but not necessarily exactly the same as, the usual written abbreviation for a given unit. These unit-codes are displayed in column 3 of the following tables. These are accepted as input by {{convert}} as the second and third unnamed parameters:
{{convert|100|kg|lb}}
→ Template:Convert/kgTemplate:Convert/test/A{{convert|100|lb|kg}}
→ Template:Convert/lbTemplate:Convert/test/A
The unit-codes should be treated as case-sensitive:
{{convert|100|Mm|mm}}
→ Template:Convert/MmTemplate:Convert/test/A
The output of {{convert}} can display multiple converted units, if further unit-codes are specified after the second unnamed parameter (without the pipe separator). Typical combination output units are listed below in column 7.
{{convert|55|nmi|km mi}}
→ Template:Convert/nmiTemplate:Convert/test/A{{convert|1|oz|ozt g gr}}
→ Template:Convert/ozTemplate:Convert/test/A
Some units have alternative unit-codes. These are shown in brackets in column 3, e.g. °F
(F
). Either may be entered for Fahrenheit (but not a lower-case f).
'per' units: kg/hl, miles per gallon
When using a slash (/
), a unit like kg/hl
is recognized as kilograms per hectolitre and will be converted with other mass/volume units.
{{convert|1000|kg/hl}}
→ Template:Convert/kg/hlTemplate:Convert/test/A
Population density (inhabitants per square mile) can be converted using
{{convert|10|PD/sqmi|PD/km2}}
→ Template:Convert/PD/sqmiTemplate:Convert/test/A
Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted
{{convert|26|mpgUS|l/100km mpgimp}}
→ Template:Convert/mpgUSTemplate:Convert/test/A
Units of difference: Expressing a change or difference in temperature
We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:
{{convert|10|C}}
→ Template:Convert/CTemplate:Convert/test/A (standard temperature conversion){{convert|10–15|C}}
→ Template:Convert/CTemplate:Convert/test/A (standard temperature range conversion)
When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (|C
, |F
and |K
), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": |C-change
, |F-change
and |K-change
.
Compare the following two examples with the two above:
{{convert|10|C-change}}
→ Template:Convert/C-changeTemplate:Convert/test/A increase in temperature{{convert|10–15|C-change}}
→ Template:Convert/C-changeTemplate:Convert/test/A warmer than normal
To produce multiple units in the output:
{{convert|10|C-change|F-change K-change}}
→ Template:Convert/C-changeTemplate:Convert/test/A difference
Multiple units: 1 ft 5 in
In input
Base document § Input multiples lists options for multiple unit input (like ft,in
). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):
{{convert|1|yd|2|ft|3|in}}
→ Template:Convert/ydTemplate:Convert/test/A{{convert|2|ft|3|in|cm}}
→ Template:Convert/ftTemplate:Convert/test/A{{convert|1|lb|5|oz|g}}
→ Template:Convert/lbTemplate:Convert/test/A
In output
Available multiple-unit output options predefined, like ftin
and ydftin
. The full list is at § Output multiples.
{{convert|2|m|ftin}}
→ Template:Convert/mTemplate:Convert/test/A{{convert|2|m|ft in}}
→ Template:Convert/mTemplate:Convert/test/A, using a space, returns the decimal point
Default behaviour, for comparison:
{{convert|2|m}}
→ Template:Convert/mTemplate:Convert/test/A
See also:
Currency per unit: $/mi → $/km
Using currency symbols in a $ per unit value, you can convert the per-unit:
{{convert|10|$/mi|$/km}}
→ Template:Convert/$/miTemplate:Convert/test/A{{convert|1500|$/ozt|$/g}}
→ Template:Convert/$/oztTemplate:Convert/test/A
You can set the currency in both values using |$=€
:
{{convert|10|$/mi|$/km|$=€}}
→ Template:Convert/$/miTemplate:Convert/test/A
It is not possible to convert the currency. So, this result (mixed currencies) is not possible: $15 per mile (€8.6/km)
Using convert inside templates
For usage in template code, like infoboxes, {{Convert}} has these options:
- Pre-formatting fraction input
- Module:Convert/helper can read regular input and pre-format it into {{Convert}}-accepted input.
- Your template can accept
|input=16 7/8
and use {{#invoke:Convert/helper|number|16 7/8}} → Script error: No such module "Convert/helper".
- Using a Wikidata property
- Adding the Wikidata property code, like code
|input=P2073
, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.
Note: to return that property value for an other article, use |qid=
.
Example for (P2073):
Note: this example uses |qid=Q1056131
(testing for (Q1056131))
{{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}
→ {{convert/{{{2}}}|ftin|0|||||||r=re|d=LoffAonDbSoff|s=}}Template:Convert/test/Aon{{convert|input=P2073|qid=Q1056131|km|abbr=on}}
→ {{convert/{{{2}}}|km|0|||||||r=re|d=LoffAonDbSoff|s=}}Template:Convert/test/Aon{{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}
→ {{convert/{{{2}}}|km|0|||||||r=re|d=LoffAonDoutSoff|s=}}Template:Convert/test/Aon
- For example see template:Infobox Telescope.
Sometimes a property may have more than one value against it in Wikidata. You can use the |qual=
parameter to specify which of the values you want to use.
Example for (P2386):
Note: this example uses |qid=Q1513315
(testing for (Q1513315))
- (Q613628):
{{convert|input=P2386|qual=Q613628|ft|abbr=on}}
→ {{convert/{{{2}}}|ft|0|||||||r=re|d=LoffAonDbSoff|s=}}Template:Convert/test/Aon - (Q1395645):
{{convert|input=P2386|qual=Q1395645|ft|abbr=on}}
→ {{convert/{{{2}}}|ft|0|||||||r=re|d=LoffAonDbSoff|s=}}Template:Convert/test/Aon
Parameter list
Parameter | Value | Description | Note |
---|---|---|---|
|abbr
|
in
|
Use symbol for first (left-hand side) unit | Unit display |
off
|
Use name for all units | Unit display | |
none
| |||
on
|
Use symbol for all units | Unit display | |
out
|
Use symbol for right-hand side unit (default) | Unit display | |
unit
|
Use symbol for all units when using scientific notation | Unit display | |
values
|
Omit both the input and output units: show only the numbers | Unit display | |
~
|
Shows both unit name and symbol | Unit display | |
mid
|
User-specified text after the input unit; sets adj=on (adjective). Expects 1 unnamed parameter.
|
Word adding, adjective | |
on
|
Unit name is adjective (singular and hyphenated) | Grammar, adjective | |
pre
|
User-specified text before input unit. Expects 1 unnamed parameter. | Word adding | |
ri0
|
Round input with precision 0 | Input precision | |
ri1
|
Round input with precision 1 | Input precision | |
ri2
|
Round input with precision 2 | Input precision | |
ri3
|
Round input with precision 3 | Input precision | |
|comma
|
5
|
Only use comma for thousands separator if 5 or more digits | Number format |
gaps
|
Use gaps (space), not comma, for thousands separator | Number format | |
off
|
No thousands separator | Number format | |
|disp
|
b
|
Join input and output using " (...)" (default) | Join values |
sqbr
|
Join input and output using " [...]" | Join values | |
br
|
Join input and output using "<br/>" | Join values | |
comma
|
Join input and output using ", " | Join values | |
or
|
Join input and output using " or " | Join values | |
number
|
Display output number only | Parts only | |
output number only
| |||
out
|
Display only output number and name/symbol | Parts only | |
output only
| |||
preunit
|
Text to be inserted after value and before units, for both input and output, with optionally different text for output. Expects 1 or 2 unnamed parameters. | Word adding | |
table
|
Output is suitable for a table cell with align="right" | Table columns | |
tablecen
|
Output is suitable for a table cell with align="center" | Table columns | |
unit
|
Display input name/symbol only (not input number, not output) | Parts only | |
unit2
|
Display output name/symbol only (not input; not output number) | Parts only | |
x
|
Join input and output using user-specified text | Word adding | |
|frac
|
N
|
Show imperial number in fractions, denominator=N | Number format, fraction |
|input
|
P2048 (e.g.)
|
Reads and converts Wikidata property | Inside template |
|lk
|
in
|
Link left-hand side unit name or symbol | Unit link |
on
|
Link all unit names or symbols (but not twice for the same unit) | Unit link | |
out
|
Link right-hand side unit name or symbol | Unit link | |
|order
|
flip
|
Inverts order of input, output measurements (conversion first) | Order |
out
|
Displays output units in the order entered, skipping input unit | Order | |
|qid
|
Q1056131 (e.g.)
|
Reads Wikidata property from Wikidata item | Inside template; testing |
|qual
|
Q613628 (e.g.)
|
Qualify Wikidata property | |
|round
|
5
|
Rounds calculation to the nearest multiple of 5 | Output precision |
25
|
Rounds calculation to the nearest multiple of 25 | Output precision | |
each
|
In a range, each number is rounded by the default rounding | Output precision | |
|sigfig
|
N
|
Round output number to N significant figures (N is a positive integer) | Output precision |
|sortable
|
on
|
Adds invisible sort key | Table sort |
|sp
|
us
|
Use U.S. spelling ("meter" instead of default "metre") | Spelling U.S. names |
|spell
|
in
|
Spell input number in words | Spelling numbers |
In
|
Spell input number in words with first letter uppercase | Spelling numbers | |
on
|
Spell input and output numbers in words | Spelling numbers | |
On
|
Spell input and output numbers in words with first letter uppercase | Spelling numbers | |
|$
|
€
|
Replace $-sign with a currency sign, for example in $/acre (no currency conversion happens)
|
Cost per unit |
|debug
|
yes
|
Debugging only. In a sortable table: show the normally hidden sort key | Table sort |
|disp |
flip
|
Deprecated. Use |order=flip | Order |
|sing= |
Deprecated. Use |adj= | Plurals |
Deprecated options
This list:Deprecated options should not be used. They may produce incorrect or undesired results and there is no guarantee that they will be supported in the future.
- disp=flip is deprecated. Use order=flip instead
- sing= is deprecated in any situation. Use adj= instead
- Range separator |xx| is deprecated (not MOS compliant). Use |x| instead
- Range separator |*| is deprecated (not MOS compliant). Use |x| instead
TemplateData
TemplateData for Convert
Converts measurements to other units.
Parameter | Description | Type | Status | |
---|---|---|---|---|
Value | 1 | The value to convert. | Number | required |
From unit | 2 | The unit for the provided value.
| String | required |
To units | 3 | The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.
| String | suggested |
Precision or suffix | 4 | Significant digits after decimal dot or, if negative, exponent of ten. | Number | optional |
Link units | lk | Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.
| String | optional |
Abbreviation | abbr | Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).
| String | suggested |
Spelling | sp | Spelling of units. Use “us” to display unit names using U.S. spelling.
| String | optional |
Adjective | adj | Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.
| Unbalanced wikitext | optional |
Conversion | disp | Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.
| String | optional |
Ordering | order | “flip” returns converted value first, input value second.
| String | optional |
Significant figures | sigfig | Indicates the number of significant figures to be used in rounding. | Number | optional |
Rounding output | round | The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range. | Number | optional |
Thousands separator | comma | Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').
| String | optional |
Sort key | sortable | “on” generates a hidden sort key
| String | optional |
Spell numbers? | spell | If used, spells input or input and output numbers in words, optionally capitalizing the first
| String | optional |
Singular? | sing | If 'yes', uses singular form of units (deprecated)
| String | deprecated |
Fraction? | frac | fraction as rounding unit | Number | optional |
Currency symbol | $ | sets currency symbol in both units
| String | optional |
WD property | input | Reads the property value of the item (article), then converts it
| String | optional |