Sjabloon:Convert
This template employs intricate features of template syntax.
You are encouraged to familiarise yourself with its setup and parser functions before editing the template. If your edit causes unexpected problems, please undo it quickly, as this template may appear on a large number of pages. Remember that you can conduct experiments, and should test all improvements, in either the general Template sandbox or your user space before changing anything here. |
The Template:Convert and most of its high-risk subtemplates have been protected so that only admins can edit them. Discuss proposed changes on the Convert talk-page. |
Usage
This template shows measurement quantities as primary and converted secondary units (or ranges), with optional rounding, wikilinks, abbreviation, or US spellings, and various separators including: parentheses "( )", "or", hyphens, comma, "to" or dashes. The can help users by generating correct conversions from one unit of measurement to another, particularly for more complex units. It's also useful by making the text adhere to the Manual of Style. The text the template generates does not differ from a plain text equivalent, however.
Styles include: distance "32 metres (18 °C ("; mass "550 kg ( {{#invoke:Math|precision_format| ((18+273,15)*1,8-459,67) | 1-1 }} °F) {{#invoke:Math|precision_format| 1.212,5424420168 | 1-3 }} lb)" or "65 to 80 kg (Fout in uitdrukking: Onbekend leesteken "[", to Fout in uitdrukking: Onbekend leesteken "[", lb)"; etc. For units see: Convert/list of units.
{{#invoke:Math|precision_format| 104,98687664042 | 1-2 }} ft)" and "32 metres or {{#invoke:Math|precision_format| (32)*1/0,3048 | 1-2 }} feet"; temperature "Options include: | lk=in , abbr=on , abbr=off , sp=us , adj=on , adj=mid , disp=x , disp=table and sortable=on (explained below). By default, output is rounded to match the precision of input; alternatives include: sigfig=3 or using the end parameter, such as "|1 " to show tenths or "|-2 " to show full 100's, etc.
|
Single value:
{{convert|value|in_unit|out_unit|round_to|...}}
Range of 2 values, or set of 3 or 4 (see below for list of range options):
{{convert|val1|range|val2 |in_unit|out_unit|round_to|...}} {{convert/3 |val1|range|val2|words|val3|in_unit|out_unit|round_to|...}} {{convert/4 |val1|words|val2|words|val3|words|val4|in_unit|out_unit|...}}
- Numbers must be entered in unformatted form (without commas). Values output by the template will be displayed formatted and with a true minus sign where appropriate. To specify with commas, re-code a number as {{formatnum:9,000,500|R}} (becomes 9000500).
- Optional parameters, in examples below, allow abbreviated units (abbr=on), or U.S. spellings (sp=us for meter), or hyphenation (adj=on), etc.
- This template may in some cases directly convert to other base units, for example
{{convert|29.8|km/s|mi/h}}
will directly convert the km/s to mph, as in Sjabloon:Convert/km/s. - For this template many levels of substitution are possible, hence doing this fully, step by step, is cumbersome. Use Special:ExpandTemplates instead.
- The template has very limited in-built capacity for dimensional analysis. It is therefore up to the user to ensure that most input and output units are compatible. Do not, for example, attempt to convert barrels to tonnes (but see {{bbl to t}}). Also beware of units with similar names; the code
oz
, for example, is for the avoirdupois ounce (a unit of mass), do not use this if you want fluid ounces. Note also that the codelb
gives pounds mass, for pounds force uselbf
. - An attempt to convert a unit to itself, e.g., km to km, will result in a template loop.
- The range functionality is not fully implemented for all units, so experimentation may be required.
- This documentation page tends to lag behind in terms of what the template can do. For details see the talk page and its archives.
Examples
Single value
Input | Displays as |
{{convert|3.21|kg|lb}} | 321 kilograms ( | {{#invoke:Math|precision_format| 707,68386161346 | 1-2 }} lb)
{{convert|3.21|kg|lb|0}} | precision_format| 707,68386161346 | 0}} lb) |
{{convert|10|kg|lb|disp=or}} | 10 kilograms or | {{#invoke:Math|precision_format| (10)*1/0,45359237 | 1-1 }} pounds
{{convert|6|ft|5|in|m}} | Sjabloon:Convert/and/in |
{{convert|10|mi}} | Sjabloon:Convert/mi |
{{convert|100|mpgus}} | Sjabloon:Convert/mpgus |
{{convert|120|km/h}} | Sjabloon:Convert/km/h |
{{convert|18|°C|°F}} | 18 °C ( {{#invoke:Math|precision_format| ((18+273,15)*1,8-459,67) | 1-1 }} °F) |
{{convert|9|e6USgal|abbr=off}} | Sjabloon:Convert/e6USgal The "e6" scales the input to millions; the "abbr=off" yields the "mega" in the output. Scaling is only available for Single value conversions. Not all units are supported. |
{{convert|1250|sqft|m2|lk=in|sigfig=2}} | Sjabloon:Convert/sqft Note 'lk=in' links only the input unit. This example is for illustration only, common units of measurement should not be linked. See: wp:overlink. |
{{convert|20.5|m3|cuyd|lk=out|abbr=on}} | Sjabloon:Convert/m3 Note 'lk=out' links only the output unit, cu yd. |
{{convert|641|acre|ha sqmi|lk=on}} | Sjabloon:Convert/acre Note 'lk=on' links all units. Per guidelines, common units should not be linked. See: wp:overlink. |
{{convert|641|acre|ha sqmi|2|lk=on}} | Sjabloon:Convert/acre Although 640 acres equals 1 square mile; 641 acres rounded to two decimal places equals 1.00 sq mi. |
Range of 2 values
- Note: not yet operational for all units
Input | Displays as |
{{convert|60|and|170|kg|lb}} | Sjabloon:Convert/and |
{{convert|60|to|170|kg|lb}} | Sjabloon:Convert/Dual/LoffAoffDbSoff |
{{convert|60|to(-)|170|kg|lb}} | Sjabloon:Convert/to(-) |
{{convert|60|-|170|kg|lb}} | Sjabloon:Convert/- |
{{convert|41|to|50|F|C}} | Sjabloon:Convert/F |
{{convert|41|-|50|F|K}} | Sjabloon:Convert/- |
{{convert|60|x|120|m|ft}} | Sjabloon:Convert/x |
{{convert|60|+/-|10|m|ft}} | Sjabloon:Convert/+/- |
{{convert|19|to|27|L|USgal}} | Sjabloon:Convert/L |
{{convert|5|to|7|L|USgal}} | Sjabloon:Convert/L |
{{convert|4|-|9|L|USgal|abbr=off}} | Sjabloon:Convert/- |
The following conversions are currently not available as a range of values:
- Some imperial and US gallon-based units
- Other fuel-consumption units, except "mpg" or "L100km" shown above.
- Large scale units (e3, e6, e9)
- Combination-based units (ft&in, st&lb, lb&oz) due to complexity of the conversion.
Range/set of 3 or 4 values
- Note: not yet operational for all units
Input | Displays as |
{{convert/3 |2|x|4|x|6|m|ft}} | Sjabloon:Convert/3 |
{{convert/3 |60|-|70|-|80|kg|lb}} | Sjabloon:Convert/3 |
{{convert/4 |60|-|70|-|80|-|90|kg|lb}} | Sjabloon:Convert/4 |
{{convert/3 |60|to|80|or|85|m|ft}} | Sjabloon:Convert/3 |
{{convert/3 |11|by|15|rarely|16|ft|m}} | Sjabloon:Convert/3 |
{{convert/3 |41|to|50|to|60|F|C}} | Sjabloon:Convert/3 |
{{convert/4 |2|to|12|, in summer|25|to|36|C|F}} | Sjabloon:Convert/4 |
{{convert/3 |41|-|50|almost|51|F|K}} | Sjabloon:Convert/3 |
For {{convert/3}} or {{convert/4}}, the separator words can be any text.
Parameters
Parameters | |
---|---|
Use US spelling | attach |sp=us
|
Make units linked | attach |lk=on to link all units (default: lk=off)attach |lk=in to link only the input unitsattach |lk=out to link only the output units(The manual of style suggests that you should not link common units of measurement). |
Use the adjective form, or insert mid-text words | attach |adj=on (e.g. "190-foot (58 m) bridge" instead of "190 feet...").
attach
Note 1: Any rounding-parameter should follow the mid-text: "text|0".
|
Abbreviate units, or not | attach |abbr=on to show unit symbolsattach |abbr=off to show all unit names in full wordsattach |abbr=in to abbreviate input unitsattach |abbr=out to abbreviate output unitsattach |abbr=values to suppress unit names & show only values. So, {{convert|6|mi|abbr=values}} gives: Sjabloon:Convert/mi.
|
Change "( )" to display other separators | attach |disp=or to put "or" between units.The default value is: disp=b for brackets/parentheses. |
Change "( )" to customized separators | attach |disp=x| (begin | end) to show "xx (begin yy end)" See example 1attach |disp=x|; to show "xx; yy" See example 2attach |disp=x| (same as |) to show "xx (same as yy)". See example 3Example 1: {{convert|9|km|mi|disp=x| [|]}}→9 kilometres [5.6 mi] (note space before [|) Example 2: {{convert|9|km|mi|disp=x|;}}→9 kilometres;5.6 mi Example 3: {{convert|10|km|mi|disp=x| (about |)}}→10 kilometres (about 6.2 mi) (note spaces used within the code). |
Display output only | attach |disp=output only to show result number & unitattach |disp=output number only to show just numberNote when using "disp=output only" then the unit name can still be shown as full words by abbr=off or linked by lk=on. Example: {{convert|7500|acre|m2|disp=output only }} → Sjabloon:Convert/acre |
Display units inverted as reverse order | attach |disp=flip to reverse the order & show output unit first.So, {{convert|6|km|disp=flip}} shows "3.7 miles (6 km)". To get symbol "mi" use abbr=in, to abbreviate the input unit (left-side unit). |
Display unit name (only) | attach |disp=unit to show the unit name for a symbolThe unit name will be plural when the amount is not 1, or hyphenated when adj=on. So, {{convert|2|cuyd|disp=unit}} shows "cubic yards" plural. |
Display amounts as table cells | attach |disp=table (or |disp=tablecen) Note: For use in tables, the template must start on a new line after a pipe. Only the number will be displayed unless you set |abbr=on , |lk=on , |lk=in or |lk=out . Example: here
|
Round to a specified number of significant figures | attach |sigfig={some integer greater than zero} . In the case of temperatures Celsius or Fahrenheit this refers to the difference with the absolute-zero temperature. For example, at room temperature two significant digits means rounded to tens of degrees.
|
Round by 5 | attach |disp=5 to round the output amount to the nearest 5 units. Not supported for all options. |
Let Convert decide the unit to convert to | skip the precision parameter (the 3rd or 4th unnamed parameter) e.g. {{convert|100|km|ft}} gives Sjabloon:Convert/km and {{convert|100|km}} gives Sjabloon:Convert/km.
|
Display input value with a fraction | {{convert|3/8|in|mm|3|abbr=on}} → Sjabloon:Convert/in or {{convert|11+1/4|in|cm|2|abbr=on}} → Sjabloon:Convert/in
For negative amounts, use two minus signs (hyphens): -11-1/4. |
Generate a hidden sort key for use with a sortable table | attach |sortable=on to generate a hidden sort key so that sortable tables will sort correctly. This uses Sjabloon:Tp to generate a sort key from the first numeric value. It ignores any additional values, ie, if you use 6|ft|2|in as the value, it will only use the 6 for the sort key. This will cause numeric values to sort in numeric order, ie: 5, 10, 15 instead of 10, 15, 5.
|
Parameters still under construction
Parameters still under construction. May not work in all situations | |
---|---|
disp=5[note 1] | The output will be rounded to the nearest 5 units. Might not work when linking unit names. |
disp=tablecen[note 1] | Similar to disp=table except that the values with be centered within the column. See the tables at La Nouvelle branch, BM-21 Grad for in use examples. |
abbr=in | Abbreviates only the input unit. |
abbr=out | Abbreviates only the output unit. |
disp=br | This separates input and output units with a forced line break. This can be useful in tables with limited horizontal space. |
disp=sqbr | Shows square brackets "[ ]" instead of parentheses "( )" in output. Example: 55 miles [89 km]. This option can be used in direct quotes, to show conversions in editorial brackets. See: attach |disp=x|[|] , above, as another way of showing brackets "[ ]".
|
Rounding
Convert supports four types of rounding:
- Rounding to a given precision
- 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 power of 1⁄10 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.
- Rounding to a given number of significant figures
- Specify the desired number of significant figures using
|sigfig={some integer greater than zero}
as noted above.
- Default rounding
- If neither the desired precision nor the desired number of significant figures is specified, the conversion will be rounded either to precision comparable 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 figures, whichever is more precise. An exception to this is temperature, wherein the conversion will be rounded either to 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.
Examples of default rounding | ||
---|---|---|
Input | Displays as | Note |
{{convert|550|ft|m|0}} | precision_format| 167,64 | 0}} m) | Approximate value is 167.64 m |
{{convert|550|ft|m}} | 550 feet ( | {{#invoke:Math|precision_format| 167,64 | 1-2 }} m)Rounds to 170, when approximate value is 167.64 m |
{{convert|500|ft|m|0}} | precision_format| 152,4 | 0}} m) | Approximate value is 152.4 m |
{{convert|500|ft|m}} | 500 feet ( | {{#invoke:Math|precision_format| 152,4 | 1-2 }} m)Rounds to 150, when approximate value is 152.4 m |
Units supported
The table below lists units supported by this template. It is divided up according to the quantity being measured. Not all supported units are listed here; there are links to more complete lists for each quantity.
The codes listed in the code column (column 3) are accepted as input by the template. These can be used as the second or third unnamed parameter. For some units there exist alternative codes. These are listed in brackets and have been incorporated to make the code more flexible for editors, e.g. °F or F may be entered.
The codes listed in the combinations column (column 7) can be used to produce multiple conversions. They can only be used as the third unnamed parameter, e.g. {{convert|55|nmi|km mi}}
produces "55 nautical miles ( {{#invoke:Math|precision_format| 101,86 | 1-2 }} km; {{#invoke:Math|precision_format| 63,292869641295 | 1-1 }} mi)".
Examples
- Monitor quality or look at examples at {{Convert/check}}.
See also
- {{Convinfobox}} for use in infoboxes
- {{Bbl to t}} for converting barrel of oil to tonnes
- {{CwtQtrLb to kg}} for converting long hundred weights, quarters and pounds into kilograms
- {{Decdeg}} for converting degrees, minutes and seconds to decimal degrees
- {{HMS2Deg}} for converting hour angles, given in hours, minutes and seconds, to decimal degrees
- {{Miles-chains}} for converting miles and chains to kilometres linking "chains"
- {{Pop density}} for converting a population and area to a density
- {{Inflation}} for calculating inflation of Consumer Price Index related prices
- {{Metricate}}
- {{RailGauge}} for converting rail (track) gauges
- {{Convert/scale}} with custom formula for converting any linearly related units
- Bug 235: Auto unit conversion
The above documentation is transcluded from Sjabloon:Convert/doc. (edit | history) Editors can experiment in this template's sandbox (create) and testcases (create) pages. Please add categories and interwikis to the /doc subpage. Subpages of this template. |