Converts a value from a source unit to a target unit and returns the result, the physical dimension, and a formatted string. Conversions are exact and dimension-checked: converting between incompatible dimensions (e.g. mass to length) is rejected rather than guessed.
Units are written by name (e.g. mile, kilogram, degree_Celsius, kilometer/hour). Compound and SI-prefixed units are supported (e.g. meter**2, MB). Use list_units to discover valid names. Distinct from currency, which handles money. Computed locally.
The numeric value to convert.
Target unit name (e.g. kilometer, pound, degree_Fahrenheit).
Source unit name (e.g. mile, kilogram, degree_Celsius, kilometer/hour).