Dividing two integers doesn’t print as a decimal number in Rust

Just like in C and C++, dividing integers results in another integer. Try this C++ program to see:

#include <iostream>

using namespace std;

int main()
{
    cout << 22 / 7 << endl;            // 3
    cout << 22.0 / 7.0 << endl;        // 3.14286
}

Similarly in Rust, you need to specify both numbers as floats instead, which is done by putting a decimal anywhere in the number. Try this Rust equivalent of the above program:

fn main() {
    println!("{:.3}", 22 / 7);         // 3
    println!("{:.3}", 22.0 / 7.0);     // 3.143
}

If you have variables, you can convert them with as to either f32 or f64, depending on your needs:

fn main() {
    let x = 22;
    println!("{:.3}", x / 7);          // 3
    println!("{:.3}", x as f32 / 7.0); // 3.143
}

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)