Rust 正在做错误的计算

Rust is doing wrong calculations

我的 Rust 计算代码给出了错误的结果,但是当我在 python 或 C/C++ 中执行相同的操作时,它给出了正确的结果,这是代码 -

生锈 -

let mem_percent_used: u64 = (1569494 / 3915755) * 100;
println!("{}", mem_percent_used);
// outputs 0, expecting 40

在python-

print((1569494 / 3915755) * 100)
# output 40.08151684668729

即使是简单的计算也会给出错误的输出。

那是因为 Rust 不会自动转换数据类型,不像 python。

这是一个工作示例:

fn main() {

  let mem_percent_used: f64 = (1569494.0 / 3915755.0) * 100.0;
  println!("{}", mem_percent_used);

}

输出:

40.08151684668729