perky 0.1.5

An application to permute and score keyboard layouts.
Documentation
pub fn format_seconds_f64(seconds: f64, decimal_places: usize) -> String {
    const SECONDS_PER_DAY: f64 = 86400.0;
    const SECONDS_PER_HOUR: f64 = 3600.0;
    const SECONDS_PER_MINUTE: f64 = 60.0;
    let mut s = String::new();
    let negative = seconds < 0.0;
    let total_seconds = seconds.abs();
    let days = (total_seconds / SECONDS_PER_DAY).floor() as u64;
    let hours = ((total_seconds % SECONDS_PER_DAY) / SECONDS_PER_HOUR).floor() as u64;
    let minutes = ((total_seconds % SECONDS_PER_HOUR) / SECONDS_PER_MINUTE).floor() as u64;
    let seconds = total_seconds % SECONDS_PER_MINUTE;
    if negative {
        s.push('-');
    }
    if days > 0 {
        s += &format!("{}d ", days);
    }
    if hours > 0 {
        s += &format!("{}h ", hours);
    }
    if minutes > 0 {
        s += &format!("{}m ", minutes);
    }
    s += &format!("{:.*}s", decimal_places, seconds);
    s
}