Template:Infobox person/height/locate
Template:Infobox person/height 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.
- Template:Infobox person/height changes text for units of height to the abbreviations "m", "cm", "ft", or "in", then passes the string to:
- Template:Infobox person/height/locate which replaces any instances of
with a space, and determines the positions of "m", "cm", "ft", or "in" within that string, all of which is passed to: - Template:Infobox person/height/switch which does the conversion
Usage
change{{Template:Infobox person/height/locate|1.57 m}}
→ 1.57 m (5 ft 2 in){{Template:Infobox person/height/locate|1.57 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 cm}}
→ 157 cm (5 ft 2 in){{Template:Infobox person/height/locate|5 ft}}
→ 5 ft (152 cm){{Template:Infobox person/height/locate|5 ft}}
→ 5 ft (152 cm){{Template:Infobox person/height/locate|2 in}}
→ 2 in (5 cm){{Template:Infobox person/height/locate|2 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 ft 2 in}}
→ 5 ft 2 in (157 cm){{Template:Infobox person/height/locate|5 ft 2 in (2012)}}
→ 5 ft 2 in (157 cm) (2012){{Template:Infobox person/height/locate|5 ft 2 in (2012)<ref>citation goes here</ref>}}
→ 5 ft 2 in (157 cm) (2012)[1]
- ↑ citation goes here
Exceptions
changeDoes 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+13⁄16 in)
Technical details
changeThe following example shows how the template works:
{{Infobox person/height/switch |{{{1|5 ft 2 in}}} |{{#invoke:String|replace|{{{1|5 ft 2 in}}}| | }} |m={{#invoke:String|find|{{#invoke:String|replace|{{{1|5 ft 2 in}}}| | }}|m}} |c={{#invoke:String|find|{{#invoke:String|replace|{{{1|5 ft 2 in}}}| | }}|cm}} |f={{#invoke:String|find|{{#invoke:String|replace|{{{1|5 ft 2 in}}}| | }}|ft}} |i={{#invoke:String|find|{{#invoke:String|replace|{{{1|5 ft 2 in}}}| | }}|in}} }}
Result:
{{Infobox person/height/switch
|5 ft 2 in
|5 ft 2 in
|m=0
|c=0
|f=3
|i=8
}}