From 5405811eaa2af3e84cc3423010488d8429657bb8 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Fri, 20 Jan 2023 17:49:23 -0330 Subject: round displacement when converting units --- src/lib.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index cd3320a..c41b791 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,19 @@ pub mod volume; type Percent = u8; + +pub fn round(f: F, digits: I) -> f64 +where + F: Into, + I: Into + Copy, +{ + (f.into() * 10_f64.powi(digits.into())).round() / 10_f64.powi(digits.into()) +} + +#[cfg(test)] +mod tests { + #[test] + fn round() { + assert_eq!(super::round(0.123456789, 3), 0.123); + } +} -- cgit v1.2.3