Template:Convert/to(-)/AonSoff

{{#ifexpr:( {{formatnum:{{{2|3/4}}}|R}} ) < 1.0001 and ( {{formatnum:{{{2|3/4}}}|R}} ) > 0 |{{#ifeq:{{{u|xnone x }}}|xnone |{{{n}}} |{{#ifeq: { |{{padleft:|1 |{{{u |x }}} }}|{{{n}}} |{{{u}}} }} }} |{{#ifeq:{{{u|xnone}}}|xnone |{{{l|{{{n}}}s}}} |{{#ifeq: { |{{padleft:|1|{{{u}}} }}|{{{l|{{{n}}}s}}} |{{{u}}} }} }} }}

The Template:Convert/to(-)/AonSoff formats a range where the 2 amounts are separated by "to" when non-abbreviated, but by "–" when showing the unit symbols. If the 2nd amount is negative, then the dash will be surrounded by spaces to separate from the &minus sign.

For unit-codes where the unit symbol is undefined (or blank), then the template also checks for literal "{{{u}}}" with leading curly brace "{" and then the unit name (depending on amount singular or plural) will be displayed instead.