Template:Convert/xx
{{convert/{{{4}}}|{{{1}}}|xx|{{{3}}}|{{{5}}}|||s=(0.5)+(0{{{s}}})|r={{{r}}}|d=Dual/{{{d}}}}}
Convert/xx: p1={{{1}}} p2= p3= p4= p5= p6= p7= p8=
d={{{d}}}
Template:Convert/xx (for ranges using "xx") is invoked as the first template below {Convert}, for converting ranges such as {Convert|2|xx|4|ft|m}. It immediately invokes Convert/{4}, for the input unit {4}, passing the range of input numbers as "{1}|xx|{3}". Having obtained all 8 parameters, {1}|xx|{3}-{8}, it sets the precision "s" from either parameter {5}, {6} or {8} (depending on whichever is the numeric round-number); otherwise, the precision is set as: s=(0.5)+(0{{{s}}}). It passes {d} down as Dual/{d} to invoke subtemplate Convert/Dual/{d} which displays the dual-range (rather than the typical single amount). For any customization, such as disp=x, the parameters {6} and {7} are passed as {5} and {6} (or null if none).