tbachert / ucum
Parses und converts UCUM units
v1.0.0
2026-08-20 19:32 UTC
Requires
- php: ^8.2
- antlr/antlr4-php-runtime: ^0.9.1
Requires (Dev)
- ext-dom: *
- phpunit/phpunit: ^13.1
This package is auto-updated.
Last update: 2026-08-20 20:32:35 UTC
README
Parser for Unified Code for Units of Measure (UCUM) units.
Installation
composer require tbachert/ucum
Usage
Converting between units
$factor = Unit::convert('km/h', 'm/s'); $factor->apply(72); // 20 $factor = Unit::convert('%', '1'); $factor->apply(42); // 0.42
Inverse conversion
Use Factor::applyInverse() to convert in the opposite direction.
$factor = Unit::convert('%', '1'); $factor->applyInverse(0.42); // 42.0
Parsing units
For repeated conversions, or for algebraic operations, parse units once and reuse them.
$meter = Unit::parse('m');
Algebraic operations
Multiplication
$newton = Unit::parse('N'); $meter = Unit::parse('m'); $joule = $newton->multiplyBy($meter);
Division
$kilometer = Unit::parse('km'); $hour = Unit::parse('h'); $kilometersPerHour = $kilometer->divideBy($hour);
Exponentiation
$meter = Unit::parse('m'); $squareMeter = $meter->toPower(2);