Template:Convert: Difference between revisions
No edit summary |
No edit summary |
||
Line 7: | Line 7: | ||
{{conv x-code|{{{3}}} }}{{conv x-code|{{{4}}} }}{{conv x-code|{{{5}}} }}{{conv x-code|{{{6}}} }}<!-- | {{conv x-code|{{{3}}} }}{{conv x-code|{{{4}}} }}{{conv x-code|{{{5}}} }}{{conv x-code|{{{6}}} }}<!-- | ||
==roundx code (rounding)== | ==roundx code (rounding)== | ||
-->{{# | -->{{#vardefine:roundx|{{#expr:{{#iferror:{{#expr:0+{{{3}}} }} }}+{{#iferror:{{#expr:0+{{{4}}} }} }}+{{#iferror:{{#expr:0+{{{5}}} }} }}+{{#iferror:{{#expr:0+{{{6}}} }} }} }} }}<!-- | ||
==Define units (unit 1, unit 1A, unit 2)== | ==Define units (unit 1, unit 1A, unit 2)== | ||
-->{{#vardefine:unit 1|{{unitfix|{{{2}}} }} | -->{{#vardefine:unit 1|{{unitfix|{{{2}}} }} }} | ||
{{#vardefine:unit 1A|{{conv unit set-up|{{#var:unit 1}}|{{#var:plur 1}}|{{#switch:{{{abbr}}} | {{#vardefine:unit 1A|{{conv unit set-up|{{#var:unit 1}}|{{#var:plur 1}}|{{#switch:{{{abbr|}}} | ||
|on | |on | ||
|in=abb | |in=abb | ||
Line 25: | Line 25: | ||
|in | |in | ||
|off=long | |off=long | ||
|def}}|{{{adj}}} }} }}<!-- | |def}}|{{{adj|}}} }} }}<!-- | ||
=Calculation= | =Calculation= | ||
-->{{#vardefine:fig 2|{{convert 2|{{#var:fig 1}}|{{#var:unit 2}}|{{convert temp|{{#var:fig 1}}|{{#var:unit 1}}|{{#var:unit 2}}|{{#var|roundx}} }} }} }} | -->{{#vardefine:fig 2|{{convert 2|{{#var:fig 1}}|{{#var:unit 2}}|{{convert temp|{{#var:fig 1}}|{{#var:unit 1}}|{{#var:unit 2}}|{{#var|roundx}} }} }} }} | ||
Line 33: | Line 33: | ||
=Output display= | =Output display= | ||
-->{{#ifeq:{{Database|{{#var:unit 1}}|quantity}}|{{Database|{{#var:unit 2}}|quantity}}|{{Conv display|{{#var:fig 1A}}|{{#var:unit 1}}|{{#var:fig 2A}}|{{#var:unit 2}}|{{#var:x code}} }}|'''''Error: mismatched units'''''}} | -->{{#ifeq:{{Database|{{#var:unit 1}}|quantity}}|{{Database|{{#var:unit 2}}|quantity}}|{{Conv display|{{#var:fig 1A}}|{{#var:unit 1}}|{{#var:fig 2A}}|{{#var:unit 2}}|{{#var:x code}} }}|'''''Error: mismatched units'''''}} | ||
<noinclude>'''THIS DOES NOT WORK YET'''{{Documentation}} | <noinclude>'''THIS DOES NOT WORK YET, BUT GETTING THERE'''{{Documentation}} | ||
[[Category:Convert templates|Convert]] | [[Category:Convert templates|Convert]] |
Revision as of 21:34, 9 October 2012
{{#vardefine:unit 2A|{{conv unit set-up|{{{3}}}|Expression error: Unexpected < operator.|{{#switch:{{{abbr}}}{{{2}}} ({{{3}}})
THIS DOES NOT WORK YET, BUT GETTING THERE
The Convert template converts between units of measurement. The basic format is:
{{convert | [value] | [unit] | [unit to convert to] | [how many decimal places] }}
The third and fourth elements (the "output unit" and the rounding figure) may be omitted, in which case the template will choose from the database a normal counterpart for the input unit and will assume all is rounded to 1 decimal place.
Thus | {{convert|1,000|ft}} |
will produce: |
{{#vardefine:unit 2A|{{conv unit set-up|{{{3}}}|Expression error: Unexpected < operator.|{{#switch:{{{abbr}}}Error: mismatched units |
If one of the units is imperial, the programme will always put that one first.
Units
The system accepts a wide range of units and while there are codes for them, the template is worked so that any reasonable and unambiguous rendering of the name of the unit, if we have anticipated it, will be accepted (so a metre is "m", but entering "m", "metre" or "metres" for it will work too).
Additional, optional codes
There are two short codes, for rounding and the "x" code, which may be added after the unit or units. It does not matter which way round these go, as long as they are in a distinct field ("|3" or "|x").
Rounding
To chose the number of decimal places to which the answer should be rounded, add the number after the unit(s).
Imperial only: x code
If the non-imperial measurement is to be omitted (for example if the original material has metric only but you want to show an imperial unit in its place), add "x" after the unit(s):
Putting | {{convert|300|m|x}} | {{convert|300|m|3}} |
will produce: |
{{#vardefine:unit 2A|{{conv unit set-up|ft|Expression error: Unexpected < operator.|{{#switch:{{{abbr}}}ft |
{{#vardefine:unit 2A|{{conv unit set-up|ft|Expression error: Unexpected < operator.|{{#switch:{{{abbr}}}ft (m) |
Likewise | {{convert|300|m|x|2}} or {{convert|300|m|2|x}} | |
will produce: |
{{#vardefine:unit 2A|{{conv unit set-up|ft|Expression error: Unexpected < operator.|{{#switch:{{{abbr}}}ft |
Missing units
If there are useful units which do not work in the template, it is only a question of updating the database: notify the Wikishire folk on the Talk page and someone will no doubt sort it out.
The above documentation is transcluded from Template: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. |