Template:Dist: Difference between revisions
(added precision parameter) |
(oops, can't insert a newline there unless it's commented out) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<includeonly>{{#switch: 1 | <includeonly>{{#switch: 1 | ||
| {{#expr:{{#ifeq:{{{2|}}}|cm|1|0}} and {{#ifeq:{{{3|}}}|in|1|0}} }} = {{{1|}}} cm ({{#expr:{{{1|}}} * 0.3937 round {{{ | | {{#expr:{{#ifeq:{{{2|}}}|cm|1|0}} and {{#ifeq:{{{3|}}}|in|1|0}} }} = {{#ifeq:{{{po|}}}|yes||{{{1|}}} cm (}}{{#expr:{{{1|}}} * 0.3937 round {{{dec|2}}} }} in{{#ifeq:{{{po|}}}|yes||)}} | ||
| {{#expr:{{#ifeq:{{{2|}}}|in|1|0}} and {{#ifeq:{{{3|}}}|cm|1|0}} }} = {{{1|}}} in ({{#expr:{{{1|}}} * 2.5400 round {{{ | | {{#expr:{{#ifeq:{{{2|}}}|in|1|0}} and {{#ifeq:{{{3|}}}|cm|1|0}} }} = {{#ifeq:{{{po|}}}|yes||{{{1|}}} in (}}{{#expr:{{{1|}}} * 2.5400 round {{{dec|2}}} }} cm{{#ifeq:{{{po|}}}|yes||)}} | ||
| {{#expr:{{#ifeq:{{{2|}}}|km|1|0}} and {{#ifeq:{{{3|}}}|mi|1|0}} }} = {{{1|}}} km ({{#expr:{{{1|}}} * 0.6214 round {{{ | | {{#expr:{{#ifeq:{{{2|}}}|m|1|0}} and {{#ifeq:{{{3|}}}|in|1|0}} }} = {{#ifeq:{{{po|}}}|yes||{{{1|}}} m (}}{{#expr:{{{1|}}} * 39.370 round {{{dec|2}}} }} in{{#ifeq:{{{po|}}}|yes||)}} | ||
| {{#expr:{{#ifeq:{{{2|}}}|mi|1|0}} and {{#ifeq:{{{3|}}}|km|1|0}} }} = {{{1|}}} mi ({{#expr:{{{1|}}} * 1.6093 round {{{ | | {{#expr:{{#ifeq:{{{2|}}}|in|1|0}} and {{#ifeq:{{{3|}}}|m|1|0}} }} = {{#ifeq:{{{po|}}}|yes||{{{1|}}} in (}}{{#expr:{{{1|}}} * 0.0254 round {{{dec|2}}} }} m{{#ifeq:{{{po|}}}|yes||)}} | ||
| {{#expr:{{#ifeq:{{{2|}}}|ft|1|0}} and {{#ifeq:{{{3|}}}|m|1|0}} }} = {{{1|}}} ft ({{#expr:{{{1|}}} * 0.3048 round {{{ | | {{#expr:{{#ifeq:{{{2|}}}|km|1|0}} and {{#ifeq:{{{3|}}}|mi|1|0}} }} = {{#ifeq:{{{po|}}}|yes||{{{1|}}} km (}}{{#expr:{{{1|}}} * 0.6214 round {{{dec|2}}} }} mi{{#ifeq:{{{po|}}}|yes||)}} | ||
| {{#expr:{{#ifeq:{{{2|}}}|m|1|0}} and {{#ifeq:{{{3|}}}|ft|1|0}} }} = {{{1|}}} m ({{#expr:{{{1|}}} * 3.2808 round {{{ | | {{#expr:{{#ifeq:{{{2|}}}|mi|1|0}} and {{#ifeq:{{{3|}}}|km|1|0}} }} = {{#ifeq:{{{po|}}}|yes||{{{1|}}} mi (}}{{#expr:{{{1|}}} * 1.6093 round {{{dec|2}}} }} km{{#ifeq:{{{po|}}}|yes||)}} | ||
| {{#expr:{{#ifeq:{{{2|}}}|ft|1|0}} and {{#ifeq:{{{3|}}}|m|1|0}} }} = {{#ifeq:{{{po|}}}|yes||{{{1|}}} ft (}}{{#expr:{{{1|}}} * 0.3048 round {{{dec|2}}} }} m{{#ifeq:{{{po|}}}|yes||)}} | |||
| {{#expr:{{#ifeq:{{{2|}}}|m|1|0}} and {{#ifeq:{{{3|}}}|ft|1|0}} }} = {{#ifeq:{{{po|}}}|yes||{{{1|}}} m (}}{{#expr:{{{1|}}} * 3.2808 round {{{dec|2}}} }} ft{{#ifeq:{{{po|}}}|yes||)}} | |||
| {{#expr:{{#ifeq:{{{2|}}}|in|1|0}} and {{#ifeq:{{{3|}}}|ft|1|0}} }} = {{#ifeq:{{{po|}}}|yes||{{{1|}}} in (}}{{#expr:trunc ({{{1|}}} / 12.000) }} ft {{#expr:{{{1|}}} mod 12}} in{{#ifeq:{{{po|}}}|yes||)}} | |||
| #default = '''<span style="color:red">(error from Template:Dist: unsupported conversion)</span>''' | | #default = '''<span style="color:red">(error from Template:Dist: unsupported conversion)</span>''' | ||
}}</includeonly><noinclude>Call this template to convert between metric and imperial units of length. Both the original and converted length will be displayed, with the unit you supplied coming first. | }}</includeonly><noinclude><!-- | ||
-->Call this template to convert between metric and imperial units of length. Both the original and converted length will be displayed, with the unit you supplied coming first, or only the converted length if you use the "po" parameter (see {{SectionLink||Display}}). The template can also convert a figure in inches to feet and inches. | |||
See [[Template:Temp]] for a temperature conversion template. | |||
==Supported conversions== | ==Supported conversions== | ||
Here are all the conversions supported by the template. If you want anything else to be supported, | Here are all the conversions supported by the template. If you want anything else to be supported, it's fairly easy to add new conversions: copy a line of code and simply change the unit names and the constant for converting between them. | ||
===cm-in=== | ===cm <-> in=== | ||
<tt><nowiki>{{Dist|100|cm|in}}</nowiki></tt><br> | <tt><nowiki>{{Dist|100|cm|in}}</nowiki></tt><br> | ||
yields<br> | yields<br> | ||
Line 21: | Line 27: | ||
{{Dist|100|in|cm}} | {{Dist|100|in|cm}} | ||
===m-ft=== | ===in <-> m=== | ||
<tt><nowiki>{{Dist|2|m|in}}</nowiki></tt><br> | |||
yields<br> | |||
{{Dist|2|m|in}} | |||
<tt><nowiki>{{Dist|21|in|m}}</nowiki></tt><br> | |||
yields<br> | |||
{{Dist|21|in|m}} | |||
===m <-> ft=== | |||
<tt><nowiki>{{Dist|100|ft|m}}</nowiki></tt><br> | <tt><nowiki>{{Dist|100|ft|m}}</nowiki></tt><br> | ||
yields<br> | yields<br> | ||
Line 30: | Line 45: | ||
{{Dist|100|m|ft}} | {{Dist|100|m|ft}} | ||
===km-mi=== | ===km <-> mi=== | ||
<tt><nowiki>{{Dist|100|km|mi}}</nowiki></tt><br> | <tt><nowiki>{{Dist|100|km|mi}}</nowiki></tt><br> | ||
yields<br> | yields<br> | ||
Line 38: | Line 53: | ||
yields<br> | yields<br> | ||
{{Dist|100|mi|km}} | {{Dist|100|mi|km}} | ||
===in -> ft=== | |||
'''Dist''' also supports a special conversion from inches to feet-and-inches:<br> | |||
<tt><nowiki>{{Dist|21|in|ft}}</nowiki></tt><br> | |||
yields<br> | |||
{{Dist|21|in|ft}} | |||
==Precision== | ==Precision== | ||
An optional | An optional "dec" parameter specifies the number of decimal places to provide in the conversion. | ||
<tt><nowiki>{{Dist|100|mi|km|1}}</nowiki></tt><br> | <tt><nowiki>{{Dist|100|mi|km|dec=1}}</nowiki></tt><br> | ||
yields<br> | yields<br> | ||
{{Dist|100|mi|km|1}} | {{Dist|100|mi|km|dec=1}} | ||
<tt><nowiki>{{Dist|100|mi|km|dec=0}}</nowiki></tt><br> | |||
yields<br> | |||
{{Dist|100|mi|km|dec=0}} | |||
==Display== | |||
An optional "po" parameter, when set to "yes", tells the template to only print the converted product. | |||
<tt><nowiki>{{Dist|100| | <tt><nowiki>{{Dist|100|cm|in|po=yes}}</nowiki></tt><br> | ||
yields<br> | yields<br> | ||
{{Dist|100| | {{Dist|100|cm|in|po=yes}} | ||
[[Category:Utility templates]]</noinclude> | [[Category:Utility templates]]</noinclude> |
Latest revision as of 03:29, 29 March 2025
Call this template to convert between metric and imperial units of length. Both the original and converted length will be displayed, with the unit you supplied coming first, or only the converted length if you use the "po" parameter (see § Display). The template can also convert a figure in inches to feet and inches.
See Template:Temp for a temperature conversion template.
Supported conversions
Here are all the conversions supported by the template. If you want anything else to be supported, it's fairly easy to add new conversions: copy a line of code and simply change the unit names and the constant for converting between them.
cm <-> in
{{Dist|100|cm|in}}
yields
100 cm (39.37 in)
{{Dist|100|in|cm}}
yields
100 in (254 cm)
in <-> m
{{Dist|2|m|in}}
yields
2 m (78.74 in)
{{Dist|21|in|m}}
yields
21 in (0.53 m)
m <-> ft
{{Dist|100|ft|m}}
yields
100 ft (30.48 m)
{{Dist|100|m|ft}}
yields
100 m (328.08 ft)
km <-> mi
{{Dist|100|km|mi}}
yields
100 km (62.14 mi)
{{Dist|100|mi|km}}
yields
100 mi (160.93 km)
in -> ft
Dist also supports a special conversion from inches to feet-and-inches:
{{Dist|21|in|ft}}
yields
21 in (1 ft 9 in)
Precision
An optional "dec" parameter specifies the number of decimal places to provide in the conversion.
{{Dist|100|mi|km|dec=1}}
yields
100 mi (160.9 km)
{{Dist|100|mi|km|dec=0}}
yields
100 mi (161 km)
Display
An optional "po" parameter, when set to "yes", tells the template to only print the converted product.
{{Dist|100|cm|in|po=yes}}
yields
39.37 in