我正在学习Rust,但当我打印十进制数时,只打印整数部分,而不打印小数部分:
fn main(){
println!("{:.3}", 22/7);
}
// This only show 3
但当我显式打印十进制数时,它工作正常:
fn main(){
println!("{:.3}", 0.25648);
}
// this print 0.256
我正在学习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
}
类似地,在Rust中,您需要将两个数字都指定为浮点数,这是通过在数字的任意位置放置一个小数来实现的.try 上述程序的等效程序:
fn main() {
println!("{:.3}", 22 / 7); // 3
println!("{:.3}", 22.0 / 7.0); // 3.143
}
如果你有变量,你可以根据你的需要将as
转换成f32
或f64
:
fn main() {
let x = 22;
println!("{:.3}", x / 7); // 3
println!("{:.3}", x as f32 / 7.0); // 3.143
}