let s = format!("{}", t);
let x = s.parse::<f64>();
如果t
的类型为f64
,是否会出现解析回f64
失败的情况?
最佳答案
看来并非如此。该程序涵盖了所有有趣的边缘情况,例如NaN、Infinity、Negative Infinity 等,并且编译和运行良好,不会出现 panic :
fn check_serialization_eq(nums: &[f64]) {
for num in nums {
let s = num.to_string();
let x = s.parse::<f64>().unwrap();
dbg!(num, x);
}
}
fn main() {
check_serialization_eq(&[
f64::MIN,
f64::MAX,
f64::NAN,
f64::INFINITY,
f64::NEG_INFINITY,
f64::EPSILON,
]);
}
关于string - 如何将 f64 转换为 String 并解析回 f64?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65345546/