pub fn trunc(input: f32, decimal_places: u8) -> f32
can only truncate to 8 decimal places safely a normalised (between 0-1) f64 value will have a maximum of 8 significant digits after the decimal place