#units #unit-conversion #temperature #measurement

metrum

Easily work with and compare temeratures in different units

5 releases (breaking)

0.5.0 Sep 25, 2023
0.4.0 Sep 25, 2023
0.3.0 Sep 25, 2023
0.2.0 Sep 22, 2023
0.1.0 Sep 22, 2023

#772 in Science


Used in yngvi

MIT license

20KB
567 lines

metrum

Easily handle measurement values in rust.

The goal is to work with measurements without needing to think about about units until you absolutely have to.

For example: A Temp is itself a value. The units are just for display back to the user.

You can compare and combine temps safely without manually converting to and from different units.

For example you can subtract 10degC from 86degF. The crate will handle the conversions internally and give you a result in the initial unit.

use metrum:Temp;

let value = Temp::F(86.) - Temp::C(10.);

println("{}", value.as_k()); // 275.372

This also means you can safely compare temperatures in two different units

use metrum:Temp;

let value = Temp::F(86.) == Temp::C(30.); // true

Temps can be safely serialized and deserialized using serde when the serde feature is enabled.

[dependencies]
metrum = { version = "0.5.0", features = ["serde"] }

Dependencies

~175KB