Rust 除两个整数不';t以十进制数字打印

Rust 除两个整数不';t以十进制数字打印,rust,Rust,我正在学习Rust,但当我打印十进制数时,只打印整数部分,而不打印小数部分: fn main(){ println!("{:.3}", 22/7); } // This only show 3 但当我显式打印十进制数时,它工作正常: fn main(){ println!("{:.3}", 0.25648); } // this print 0.256 就像C和C++一样,把整数除以另一个整数。试试这个C++程序,看看: #include <iostream>

我正在学习Rust,但当我打印十进制数时,只打印整数部分,而不打印小数部分:

fn main(){
    println!("{:.3}", 22/7);
}
// This only show 3
但当我显式打印十进制数时,它工作正常:

fn main(){
    println!("{:.3}", 0.25648);
}
// this print 0.256

就像C和C++一样,把整数除以另一个整数。试试这个C++程序,看看:

#include <iostream>

using namespace std;

int main()
{
    cout << 22 / 7 << endl;            // 3
    cout << 22.0 / 7.0 << endl;        // 3.14286
}
如果您有变量,您可以根据您的需要,将它们用
as
转换为
f32
f64

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

使用整型变量时,如果没有添加小数点的选项,则可以使用以下命令将整型变量转换为浮点:

这将返回以下值:

integer division: 1
float division: 1.826086956521739
fn main() {
    let a = 42;
    let b = 23;
    let c = a / b;  // integer division
    let d = a as f64 / b as f64;  // cast both variables to float before division
    println!("integer division: {}\nfloat division: {}", c, d);
}
integer division: 1
float division: 1.826086956521739