Compare floating point numbers by rounding



examples/numbers/compare-floats-by-rounding/src/main.rs
fn main() {
    let x:f64 = 0.1 + 0.2;
    let y = 0.3;
    println!("{}", x);
    println!("{}", y);
    println!("{}", x == y);
    println!();

    println!("{}", (100.0 * x).round() / 100.0);
    println!("{}", ((100.0 * x).round() / 100.0) == y);
    println!("{}", round64(x, 100.0));
    println!("{}", round64(x, 100.0) == y);
}

fn round64(number:f64, precision:f64) -> f64{
    (precision * number).round() / precision
}

0.30000000000000004
0.3
false

0.3
true
0.3
true