简单问题:sin()
在哪里?我搜索过,只在Rust文档中发现有std::num::Float
等需要罪的特征,但没有实现。
答案 0 :(得分:15)
删除了Float
特征,这些方法现在是类型的固有实现。这意味着访问数学函数的输入更少:
fn main() {
let val: f32 = 3.14159;
println!("{}", val.sin());
}
但是,如果3.14159.sin()
引用32位或64位数字,则不明确,因此您需要明确指定它。上面,我设置了变量的类型,但您也可以使用类型后缀:
fn main() {
println!("{}", 3.14159f64.sin());
}
您还可以使用fully qualified syntax:
fn main() {
println!("{}", f32::sin(3.14159));
}
答案 1 :(得分:0)
Float
是Trait,包含实现,导入此选项以申请f32或f64。
use std::num::Float;
fn main() {
println!("{}", 1.0f64.sin());
}