diff --git a/src/formatters.rs b/src/formatters.rs index 0577a993..2213e3d2 100644 --- a/src/formatters.rs +++ b/src/formatters.rs @@ -70,14 +70,14 @@ pub fn from_f32_panning() -> Arc Option + Send + Sync> { }) } -/// Round an `f32` value and divide it by 1000 when it gets over 1000 +/// Format a `f32` Hertz value as a rounded `Hz` below 1000 Hz, and as a rounded `kHz` value above +/// 1000 Hz. This already includes the unit. pub fn f32_hz_then_khz(digits: usize) -> Arc String + Send + Sync> { - Arc::new(move |x| { - if x < 1000.0 { - format!("{:.digits$}", x) + Arc::new(move |value| { + if value < 1000.0 { + format!("{:.digits$} Hz", value) } else { - let digits = digits + 1; - format!("{:.digits$}", x / 1000.0) + format!("{:.digits$} kHz", value / 1000.0, digits = digits.min(1)) } }) }