goe*_*tor 7 floating-point literals traits rust
常规浮点文字不起作用:
extern crate num_traits;
use num_traits::float::Float;
fn scale_float<T: Float>(x: T) -> T {
x * 0.54
}
fn main() {
let a: f64 = scale_float(1.23);
}
Run Code Online (Sandbox Code Playgroud)
extern crate num_traits;
use num_traits::float::Float;
fn scale_float<T: Float>(x: T) -> T {
x * 0.54
}
fn main() {
let a: f64 = scale_float(1.23);
}
Run Code Online (Sandbox Code Playgroud)
She*_*ter 11
use num_traits::{cast::FromPrimitive, float::Float};
fn scale_float<T: Float + FromPrimitive>(x: T) -> T {
x * T::from_f64(0.54).unwrap()
}
Run Code Online (Sandbox Code Playgroud)
或者标准库From
/Into
特征
fn scale_float<T>(x: T) -> T
where
T: Float,
f64: Into<T>
{
x * 0.54.into()
}
Run Code Online (Sandbox Code Playgroud)
也可以看看:
归档时间: |
|
查看次数: |
1756 次 |
最近记录: |