Template:Infobox person/weight/locate: Difference between revisions
en>Zyxw (Add options to output stlb which can be invoked from an infobox template. Does not affect any current usage. Tested first with /sandbox and /testcases.) |
m (1 revision imported) |
||
(No difference)
| |||
Latest revision as of 13:35, 25 May 2023
This is one of three templates used to automatically add conversions of weight measurements displayed by Template:Infobox person and other infoboxes with a |weight= parameter.
- Template:Infobox person/weight changes text for units of weight to the abbreviations "kg", "lb", or "st", then passes the string to:
- Template:Infobox person/weight/locate which replaces any instances of
with a space, and determines the positions of "kg", "lb", or "st" within that string, all of which is passed to: - Template:Infobox person/weight/switch which does the conversion
Usage[edit source]
{{Template:Infobox person/weight/locate|108 kg}}→ 108 kg (238 lb){{Template:Infobox person/weight/locate|108 kg}}→ 108 kg (238 lb){{Template:Infobox person/weight/locate|238 lb}}→ 238 lb (108 kg){{Template:Infobox person/weight/locate|238 lb}}→ 238 lb (108 kg){{Template:Infobox person/weight/locate|17 st}}→ 17 st (238 lb; 108 kg){{Template:Infobox person/weight/locate|17 st}}→ 17 st (238 lb; 108 kg){{Template:Infobox person/weight/locate|108 kg (2012)}}→ 108 kg (238 lb) (2012){{Template:Infobox person/weight/locate|108 kg (2012)<ref>citation goes here</ref>}}→ 108 kg (238 lb) (2012)[1]
- ↑ citation goes here
Exceptions[edit source]
Does not replace numbers in hard-coded conversions (examples intentionally show incorrect conversions):
{{Template:Infobox person/weight/locate|108 kg (229 lb)}}→ 108 kg (229 lb){{Template:Infobox person/weight/locate|238 lb (119 kg)}}→ 238 lb (119 kg){{Template:Infobox person/weight/locate|17 st (229 lb; 119 kg)}}→ 17 st (229 lb; 119 kg)
Does not replace numeric output of conversion templates such as {{convert}} (examples have precision different than usual):
{{Template:Infobox person/weight/locate|{{convert|108|kg|lb|1|abbr=on}}}}→ 108 kg (238.1 lb){{Template:Infobox person/weight/locate|{{convert|238|lb|kg|2|abbr=on}}}}→ 238 lb (107.95 kg){{Template:Infobox person/weight/locate|{{convert|17|st|3|abbr=on}}}}→ 17 st (238.000 lb; 107.955 kg)
Technical details[edit source]
The following examples show how the template works:
kg[edit source]
{{Infobox person/weight/switch
|108&nbsp;kg
|{{#invoke:String|replace|108&nbsp;kg|&nbsp;| }}
|k={{#invoke:String|find|{{#invoke:String|replace|108&nbsp;kg|&nbsp;| }}|kg}}
|s={{#invoke:String|find|{{#invoke:String|replace|108&nbsp;kg|&nbsp;| }}|st}}
|l={{#invoke:String|find|{{#invoke:String|replace|108&nbsp;kg|&nbsp;| }}|lb}}
}}Result:
{{Infobox person/weight/switch
|108 kg
|108 kg
|k=5
|s=0
|l=0
}}
lb[edit source]
{{Infobox person/weight/switch
|238&nbsp;lb
|{{#invoke:String|replace|238&nbsp;lb|&nbsp;| }}
|k={{#invoke:String|find|{{#invoke:String|replace|238&nbsp;lb|&nbsp;| }}|kg}}
|s={{#invoke:String|find|{{#invoke:String|replace|238&nbsp;lb|&nbsp;| }}|st}}
|l={{#invoke:String|find|{{#invoke:String|replace|238&nbsp;lb|&nbsp;| }}|lb}}
}}Result:
{{Infobox person/weight/switch
|238 lb
|238 lb
|k=0
|s=0
|l=5
}}
st[edit source]
{{Infobox person/weight/switch
|17&nbsp;st
|{{#invoke:String|replace|17&nbsp;st|&nbsp;| }}
|k={{#invoke:String|find|{{#invoke:String|replace|17&nbsp;st|&nbsp;| }}|kg}}
|s={{#invoke:String|find|{{#invoke:String|replace|17&nbsp;st|&nbsp;| }}|st}}
|l={{#invoke:String|find|{{#invoke:String|replace|17&nbsp;st|&nbsp;| }}|lb}}
}}Result:
{{Infobox person/weight/switch
|17 st
|17 st
|k=0
|s=4
|l=0
}}
st/lb[edit source]
{{Infobox person/weight/switch
|17&nbsp;st&nbsp;7&nbsp;lb
|{{#invoke:String|replace|17&nbsp;st&nbsp;7&nbsp;lb|&nbsp;| }}
|k={{#invoke:String|find|{{#invoke:String|replace|17&nbsp;st&nbsp;7&nbsp;lb|&nbsp;| }}|kg}}
|s={{#invoke:String|find|{{#invoke:String|replace|17&nbsp;st&nbsp;7&nbsp;lb|&nbsp;| }}|st}}
|l={{#invoke:String|find|{{#invoke:String|replace|17&nbsp;st&nbsp;7&nbsp;lb|&nbsp;| }}|lb}}
}}Result:
{{Infobox person/weight/switch
|17 st 7 lb
|17 st 7 lb
|k=0
|s=4
|l=9
}}