无法正确获取 Rust 类型
Can't get Rust types correct
use std::num::Float;
fn main() {
for i in 1..101 {
euler(i)
}
}
fn euler(x: i32){
let n: i32 = x;
let e: f64 = (1.0+(1.0/n)).powi(n);
println!("Euler's number where n = {} is {}", n, e);
}
我有这段代码,但无法编译。我是 Rust 的新手,所以不胜感激!
我们来看错误信息:
<anon>:11:28: 11:29 error: mismatched types:
expected `_`,
found `i32`
(expected floating-point variable,
found i32) [E0308]
<anon>:11 let e: f64 = (1.0+(1.0/n)).powi(n);
^
在这里,Rust 有很好 消息:您需要提供一个浮点变量,而不是整数变量:
let e: f64 = (1.0+(1.0/n as f64)).powi(n);
// HERE ^~~~~~~~
use std::num::Float;
fn main() {
for i in 1..101 {
euler(i)
}
}
fn euler(x: i32){
let n: i32 = x;
let e: f64 = (1.0+(1.0/n)).powi(n);
println!("Euler's number where n = {} is {}", n, e);
}
我有这段代码,但无法编译。我是 Rust 的新手,所以不胜感激!
我们来看错误信息:
<anon>:11:28: 11:29 error: mismatched types:
expected `_`,
found `i32`
(expected floating-point variable,
found i32) [E0308]
<anon>:11 let e: f64 = (1.0+(1.0/n)).powi(n);
^
在这里,Rust 有很好 消息:您需要提供一个浮点变量,而不是整数变量:
let e: f64 = (1.0+(1.0/n as f64)).powi(n);
// HERE ^~~~~~~~