Unit Conversion
Convert values between units (cents→dollars, meters→kilometers, etc.).
Configuration
_unit_convert_out (Recommended)
Keyed by output unit:
javascript
import { calc } from "a-calc";
calc("100 | =2 !ua:$", {
_unit_convert_out: {
$: { "¢": 0.01 }, // ¢ × 0.01 = $
},
}); // '1.00$' (100¢ → 1$)_unit_convert_in
Keyed by input unit:
javascript
calc("100 | =2 !ua:$", {
_unit_convert_in: {
"¢": { $: 0.01 },
},
}); // '1.00$'Conversion Rule Formats
javascript
_unit_convert_out: {
'$': {
'¢': 0.01, // number: multiply
'mill': { mul: 0.001 }, // object mul
'large': { div: 100 }, // object div
'custom': (v, inUnit, outUnit) => v / 7.2, // function
'fn': { fn: (v) => v / 7.2 } // object fn
}
}Syntax
javascript
// Specify output unit only (auto-detect input)
calc("100 | =2 !ua:$", { _unit_convert_out: { $: { "¢": 0.01 } } });
// Specify both output and input units
calc("100 | =2 !ua:$:¢", {
_unit_convert_out: { $: { "¢": 0.01, mill: 0.001 } },
});
// Convert without showing unit
calc("100 | =2 !uh:$", { _unit_convert_out: { $: { "¢": 0.01 } } });
// '1.00'Pure Config Mode
javascript
calc("100 | =2", {
_unit_convert_out: { $: { "¢": 0.01 } },
_unit_default_out: "$",
_unit_default_in: "¢",
_unit_default_position: "before",
}); // '$1.00'Multiple Input Units
javascript
calc("100 | =2 !ua:$", {
_unit_convert_out: { $: { "¢": 0.01, mill: 0.001 } },
_unit_default_in: "¢",
}); // '1.00$'Real-World Examples
Length Conversion
javascript
const lengthOptions = {
_unit_convert_out: {
km: { m: { div: 1000 }, cm: { div: 100000 } },
},
};
calc("5000 | =2 !ua:km:m", lengthOptions); // '5.00km'
calc("150 | =2 !ua:km:cm", lengthOptions); // '0.00km'Temperature Conversion
javascript
const tempOptions = {
_unit_convert_out: {
"°C": {
"°F": (f) => ((f - 32) * 5) / 9,
K: (k) => k - 273.15,
},
},
};
calc("100 | =1 !ua:°C:°F", tempOptions); // '37.7°C'