在Rust中,我可以使用println!或.to_string()将浮点数转换为字符串,但它只会打印必要的数字以保持无损。我怎么能得到浮动的所有数字?例如,应该将0.1f32转换为"0.100000001490116119384765625"。
发布于 2018-08-05 20:20:35
这似乎起了作用:
format!("{:.51}", i).trim_right_matches(|c| c == '0' || c == '.').to_string();这是一个小垃圾,因为您需要预先指定所需的最大位数,而对于51 (对于f32 -它将更多地适用于f64),我不是百分之百确定。
另外,trim_right_matches()返回一个&str,然后to_string()利用它生成一个新的String,这是次优的。您可以通过truncate()对format!()返回的String做得更好。
https://stackoverflow.com/questions/51697821
复制相似问题