Template:Infobox person/height/locate/doc

From blackwiki
< Template:Infobox person‎ | height‎ | locate
Revision as of 08:56, 12 July 2018 by imported>Zyxw (replace template name in first sentence, it is shown in numbered list below)
Jump to navigation Jump to search

This is one of three templates used to automatically add conversions of height measurements displayed by Template:Infobox person and other infoboxes with a |height= parameter.

  1. Template:Infobox person/height changes text for units of height to the abbreviations "m", "cm", "ft", or "in", then passes the string to:
  2. Template:Infobox person/height/locate which replaces any instances of &nbsp; with a space, and determines the positions of "m", "cm", "ft", or "in" within that string, all of which is passed to:
  3. Template:Infobox person/height/switch which does the conversion

Usage

  • {{Template:Infobox person/height/locate|1.57 m}} → 1.57 m (5 ft 2 in)
  • {{Template:Infobox person/height/locate|1.57&nbsp;m}} → 1.57 m (5 ft 2 in)
  • {{Template:Infobox person/height/locate|157 cm}} → 157 cm (5 ft 2 in)
  • {{Template:Infobox person/height/locate|157&nbsp;cm}} → 157 cm (5 ft 2 in)
  • {{Template:Infobox person/height/locate|5 ft}} → 5 ft (152 cm)
  • {{Template:Infobox person/height/locate|5&nbsp;ft}} → 5 ft (152 cm)
  • {{Template:Infobox person/height/locate|2 in}} → 2 in (5 cm)
  • {{Template:Infobox person/height/locate|2&nbsp;in}} → 2 in (5 cm)
  • {{Template:Infobox person/height/locate|5 ft 2 in}} → 5 ft 2 in (157 cm)
  • {{Template:Infobox person/height/locate|5&nbsp;ft 2&nbsp;in}} → 5 ft 2 in (157 cm)
  • {{Template:Infobox person/height/locate|5&nbsp;ft 2&nbsp;in (2012)}} → 5 ft 2 in (157 cm) (2012)
  • {{Template:Infobox person/height/locate|5&nbsp;ft 2&nbsp;in (2012)<ref>citation goes here</ref>}} → 5 ft 2 in (157 cm) (2012)[1]
  1. citation goes here

Exceptions

Does not replace numbers in hard-coded conversions (examples intentionally show incorrect conversions):

  • {{Template:Infobox person/height/locate|5 ft 2 in (100 cm)}} → 5 ft 2 in (100 cm)
  • {{Template:Infobox person/height/locate|157 cm (5 ft 5 in)}} → 157 cm (5 ft 5 in)

Does not replace numeric output of conversion templates such as {{convert}} or {{height}} (examples have precision different than usual):

  • {{Template:Infobox person/height/locate|{{convert|5|ft|2|in|m|3|abbr=on}}}} → 5 ft 2 in (1.575 m)
  • {{Template:Infobox person/height/locate|{{convert|1.57|m|ftin|1|abbr=on}}}} → 1.57 m (5 ft 1.8 in)
  • {{Template:Infobox person/height/locate|{{height|ft=5|in=2|precision=3|abbr=yes}}}} → 5 ft 2 in (1.575 m)
  • {{Template:Infobox person/height/locate|{{height|m=1.57|frac=16|abbr=yes}}}} → 1.57 m (5 ft 1 1316 in)

Technical details

The following examples show how the template works:

ft & in

{{Infobox person/height/switch
  |{{{1|5 ft 2&nbsp;in}}}
  |{{#invoke:String|replace|{{{1|5 ft 2&nbsp;in}}}|&nbsp;| }}
  |m={{#invoke:String|find|{{#invoke:String|replace|{{{1|5 ft 2&nbsp;in}}}|&nbsp;| }}|m}}
  |c={{#invoke:String|find|{{#invoke:String|replace|{{{1|5 ft 2&nbsp;in}}}|&nbsp;| }}|cm}}
  |f={{#invoke:String|find|{{#invoke:String|replace|{{{1|5 ft 2&nbsp;in}}}|&nbsp;| }}|ft}}
  |i={{#invoke:String|find|{{#invoke:String|replace|{{{1|5 ft 2&nbsp;in}}}|&nbsp;| }}|in}}
}}

Result:
{{Infobox person/height/switch |5 ft 2&nbsp;in |5 ft 2 in |m=0 |c=0 |f=3 |i=8 }}

cm

{{Infobox person/height/switch
  |{{{1|198&nbsp;cm}}}
  |{{#invoke:String|replace|{{{1|198&nbsp;cm}}}|&nbsp;| }}
  |m={{#invoke:String|find|{{#invoke:String|replace|{{{1|198&nbsp;cm}}}|&nbsp;| }}|m}}
  |c={{#invoke:String|find|{{#invoke:String|replace|{{{1|198&nbsp;cm}}}|&nbsp;| }}|cm}}
  |f={{#invoke:String|find|{{#invoke:String|replace|{{{1|198&nbsp;cm}}}|&nbsp;| }}|ft}}
  |i={{#invoke:String|find|{{#invoke:String|replace|{{{1|198&nbsp;cm}}}|&nbsp;| }}|in}}
}}

Result:
{{Infobox person/height/switch |198&nbsp;cm |198 cm |m=6 |c=5 |f=0 |i=0 }}

m

{{Infobox person/height/switch
  |{{{1|1.98&nbsp;m}}}
  |{{#invoke:String|replace|{{{1|1.98&nbsp;m}}}|&nbsp;| }}
  |m={{#invoke:String|find|{{#invoke:String|replace|{{{1|1.98&nbsp;m}}}|&nbsp;| }}|m}}
  |c={{#invoke:String|find|{{#invoke:String|replace|{{{1|1.98&nbsp;m}}}|&nbsp;| }}|cm}}
  |f={{#invoke:String|find|{{#invoke:String|replace|{{{1|1.98&nbsp;m}}}|&nbsp;| }}|ft}}
  |i={{#invoke:String|find|{{#invoke:String|replace|{{{1|1.98&nbsp;m}}}|&nbsp;| }}|in}}
}}

Result:
{{Infobox person/height/switch |1.98&nbsp;m |1.98 m |m=6 |c=0 |f=0 |i=0 }}

See also