Skip to content

Unit Position

Control where unit symbols appear in formatted output.

Syntax

SyntaxPositionExample
!ua:unitAfter number100$
!ub:unitBefore number$100
!um:unitBetween sign and number-$100
!u:unitConfigurable (default: after)

Examples

javascript
import { calc } from "a-calc";

calc("100 | !ua:$"); // '100$'
calc("100 | !ub:$"); // '$100'
calc("-100 | + !um:$"); // '-$100'
calc("100 | + !um:$"); // '+$100'

Global Default Position

javascript
import { set_config } from "a-calc";

set_config({ _unit_default_position: "before" });
calc("100 | !u:$"); // '$100'

set_config({ _unit_default_position: "middle" });
calc("-100 | + !u:$"); // '-$100'

Position Map

Pre-configure positions for specific units:

javascript
set_config({
  _unit_position_map: {
    $: "before",
    "€": "middle",
    元: "after",
  },
});

calc("100 | !u:$"); // '$100'
calc("100 | !u:€"); // '€100'
calc("100 | !u:元"); // '100元'

Priority (Low to High)

  1. _unit_default_position (global default)
  2. _unit_convert_out[unit]._position
  3. _unit_position_map
  4. Explicit syntax !ua: / !ub: / !um: (highest)

Combining with Formatting

javascript
calc("1234.5 | =2, !ua:元"); // '1,234.50元'
calc("1234.5 | =2, !ub:$"); // '$1,234.50'
calc("-1234.5 | +=2, !um:$"); // '-$1,234.50'

Released under the MIT License