Difference between revisions of "Template:Convert/doc"

From Teampedia
Jump to: navigation, search
(Single value)
Line 38: Line 38:
|'''Input'''||'''Displays as'''
|'''Input'''||'''Displays as'''
|<nowiki>{{nowrap|3.21 kg (7.07 lb)}}</nowiki>||{{nowrap|3.21 kg (7.07 lb)}}

Latest revision as of 13:23, 8 February 2020



This template shows measurement quantities as primary and converted secondary units (or ranges), with optional rounding, wikilinks, abbreviation, or UK 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 books' manuals of style. The text the template generates does not differ from a plain text equivalent, however.

Styles include: distance "Template:Convert/m" and "Template:Convert/m"; temperature "Template:Convert/°C"; mass "Template:Convert/kg" or "Template:Convert/to"; etc. For units see: Convert/list of units.

Options include:  lk=in, abbr=on, abbr=off, sp=uk, 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:


Range of 2 values, or set of 3 (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|...}}
  • 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.K. spellings (sp=uk for metre), or hyphenation (adj=on), etc.
  • 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. 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 code lb gives pounds mass, for pounds force use lbf.
  • 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.


Single value

Input Displays as
{{nowrap|3.21 kg (7.07 lb)}} <templatestyles src="nowrap/core.css"/>3.21 kg (7.07 lb)
{{convert|3.21|kg|lb|0}} <templatestyles src="nowrap/core.css"/>3.21
{{convert|10|kg|lb|disp=or}} Template:Convert/kg
{{convert|6|ft|5|in|m}} 6|0|5|in|m r=er|d=LoffAoffDbSoff|u=ft
{{mi to km|10}} 10 miles (16 km)
{{convert|100|mpgus}} Template:Convert/mpgus
{{convert|120|km/h}} Template:Convert/km/h
{{convert|18|°C|°F}} Template:Convert/°C
{{convert|1250|sqft|m2|lk=in|sigfig=2}} Template:Convert/sqft
Note 'lk=in' links only the input unit. This example is for illustration only, common units of measurement should not be linked.
{{convert|20.5|m3|cuyd|lk=out|abbr=on}} Template:Convert/m3
Note 'lk=out' links only the output unit, cu yd.
{{convert|641|acre|ha sqmi|lk=on}} Template:Convert/acre
Note 'lk=on' links all units. Common units should not be linked.
{{convert|641|acre|ha sqmi|2|lk=on}} Template: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}} Template:Convert/and
{{convert|60|to|170|kg|lb}} Template:Convert/to
{{convert|60|to(-)|170|kg|lb}} Template:Convert/to(-)
{{convert|60|-|170|kg|lb}} Template:Convert/-
{{convert|41|to|50|F|C}} Template:Convert/to
{{convert|41|-|50|F|K}} Template:Convert/-
{{convert|60|x|120|m|ft}} Template:Convert/x
{{convert|60|+/-|10|m|ft}} Template:Convert/+/-
{{convert|19|to|27|L|USgal}} Template:Convert/to
{{convert|5|to|7|L|USgal|abbr=mos}} Template:Convert/to
{{convert|4|-|9|L|USgal|abbr=off}} Template: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 values

Note: not yet operational for all units
Input Displays as
{{convert/3 |2|x|4|x|6|m|ft}} Template:Convert/3
{{convert/3 |60|-|70|-|80|kg|lb}} Template:Convert/3
{{convert/3 |60|to|80|or|85|m|ft}} Template:Convert/3
{{convert/3 |11|by|15|rarely|16|ft|m}} Template:Convert/3
{{convert/3 |41|to|50|to|60|F|C}} Template:Convert/3
{{convert/3 |41|-|50|almost|51|F|K}} Template:Convert/3

For {{convert/3}}, the separator words can be any text.


Template:AnchorUse UK spelling attach |sp=uk
Template:AnchorMake units linked attach |lk=on   to link all units (default: lk=off)
attach |lk=in   to link only the input units
attach |lk=out  to link only the output units
(Wikibooks:Dewikify suggests that you should not link common units of measurement).
Template:AnchorUse the adjective form, or insert mid-text words attach |adj=on (e.g. "190-foot (58 m) bridge" instead of "190 feet...").
This produces the adjective form—the unit name in the singular with a hyphen.

attach |adj=mid (e.g. "190-foot bridge (58 m)" as: |adj=mid|bridge

or "190-foot-long bridge (58 m)" as: |adj=mid|-long bridge)

Note 1: Any rounding-parameter should follow the mid-text: "text|0".
Note 2: For adj=mid, must specify both input & output unit-codes.

For example, to convert feet, use "ft|m" or "ft|0":
  • {{convert|9|ft|m|adj=mid|-long}} → 9-foot-long (2.7 m)
To default the output unit-code, set parameter 3 to: 0.
Abbreviate units, or not Template:Anchorattach |abbr=on to show unit symbols
attach |abbr=off   to show all unit names in full words
attach |abbr=in to abbreviate input units
attach |abbr=out to abbreviate output units
attach |abbr=values to suppress unit names & show only values. So, {{convert|6|mi|abbr=values}} gives:
  1. REDIRECT Template:Mi to km.
Template:AnchorChange "( )" to display other separators attach |disp=comma to put comma, not brackets/parentheses
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 1
attach |disp=x|; to show "xx; yy" See example 2
attach |disp=x| (same as |) to show "xx (same as yy)". See example 3
Example 1: <templatestyles src="nowrap/core.css"/>{{convert|9|km|mi|disp=x| [|]}}→<templatestyles src="nowrap/core.css"/>9 kilometres [5.6 mi] (note space before [|)
Example 2: <templatestyles src="nowrap/core.css"/>{{convert|9|km|mi|disp=x|;}}→<templatestyles src="nowrap/core.css"/>9 kilometres;5.6 mi
Example 3: <templatestyles src="nowrap/core.css"/>{{convert|10|km|mi|disp=x| (about |)}}→<templatestyles src="nowrap/core.css"/>10 kilometres (about 6.2 mi) (note spaces used within the code).
Display output only attach |disp=output only to show result number & unit
attach |disp=output number only to show just number
Note when using "disp=output only" then the unit name can still be shown as full words by abbr=off or linked by lk=on.
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 symbol
The 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.
Template:AnchorDisplay 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.
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|kn}} gives 100 kilometers (Template:Convert/kn) and {{convert|100|km}} gives 100 kilometers (100 miles (161 km)).
Display input value with a fraction {{convert|3/8|in|mm|3|abbr=on}} → Template:Convert/LoffAonDbSoff or {{convert|11+1/4|in|cm|2|abbr=on}} → Template:Convert/LoffAonDbSoff

For negative amounts, use two minus signs (hyphens): -11-1/4.

Template:AnchorGenerate 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 {{ntsh}} to generate a sort key from the first numeric value. It ignores any additional values, i.e., 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, i.e.: 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 will be centered within the column.
disp=comma[note 1] The two values will be separated by a comma, for situations where the first value is already within parentheses.
abbr=in Abbreviates only the input unit.
abbr=out Abbreviates only the output unit.
abbr=comma[note 1] "Abbreviates" (removes) commas. For ranges, using abbr=comma conflicts with internal options, so instead, append "nocomma" to a range-word: tonocomma, bynocomma, andnocomma, -nocomma & xnocomma.
abbr=mos For ranges, abbreviates with the input unit repeated, twice.
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 "[ ]".



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 Template:Frac 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 a comparable precision as 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 the most 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 the most precise.
Examples of default rounding
Input Displays as Note
{{convert|550|ft|m|0}} 550 0 s=|r=er|d=LoffAoffDbSoff|u=ft Approximate value is 167.64 m
{{convert|550|ft|m}} 550 m r=er|d=LoffAoffDbSoff|u=ft Rounds to 170, when approximate value is 167.64 m
{{convert|500|ft|m|0}} 500 0 s=|r=er|d=LoffAoffDbSoff|u=ft Approximate value is 152.4 m
{{convert|500|ft|m}} 500 m r=er|d=LoffAoffDbSoff|u=ft Rounds to 150, when approximate value is 152.4 m

Units supported

Template:Convert/list of units

See also

Cite error: <ref> tags exist for a group named "note", but no corresponding <references group="note"/> tag was found, or a closing </ref> is missing