首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将浮点数转换为包含所有数字的字符串

将浮点数转换为包含所有数字的字符串
EN

Stack Overflow用户
提问于 2018-08-05 20:02:01
回答 1查看 272关注 0票数 0

在Rust中,我可以使用println!.to_string()将浮点数转换为字符串,但它只会打印必要的数字以保持无损。我怎么能得到浮动的所有数字?例如,应该将0.1f32转换为"0.100000001490116119384765625"

EN

回答 1

Stack Overflow用户

发布于 2018-08-05 20:20:35

这似乎起了作用:

代码语言:javascript
复制
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做得更好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51697821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档