import javax.measure.*;
import javax.measure.quantity.Length;
import javax.measure.unit.SI;
import javax.measure.unit.Unit;
import javax.measure.unit.UnitFormat;
public class MeasurementExample {
public static void main(String[] args) {
Unit<Length> meter = SI.METER;
Unit<Length> kilometer = SI.KILO(SI.METER);
double distanceInMeters = 1000;
double distanceInKilometers = distanceInMeters / kilometer.getConverterTo(meter).convert(1);
System.out.println("Distance in meters: " + distanceInMeters);
System.out.println("Distance in kilometers: " + distanceInKilometers);
UnitFormat format = UnitFormat.getInstance();
Unit<Length> parsedUnit = format.parse("km").asType(Length.class);
double parsedDistanceInMeters = distanceInKilometers * parsedUnit.getConverterTo(meter).convert(1);
System.out.println("Parsed unit: " + parsedUnit);
System.out.println("Parsed distance in meters: " + parsedDistanceInMeters);
}
}
<dependencies>
<dependency>
<groupId>net.java.dev.units</groupId>
<artifactId>jsr-275</artifactId>
<version>0.9.3</version>
</dependency>
</dependencies>