"0" 1.00001 -> "1" 3.66 -6ren">
gpt4 book ai didi

c++ boost format float - 如何指定我不想要 .和以下零

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:49:45 26 4
gpt4 key购买 nike

我想使用 boost::format 将 float 转换为字符串。以下是预期结果的几个示例:

0.5     -> "0.5"
0 -> "0"
1.00001 -> "1"
3.66 -> "3.7"

我正在使用

boost::format("%1$.1f")

它大部分工作,但 0 的结果是 "0.0"1.00001"1.0"当我想要 "0""1" 时。

我需要更改什么才能摆脱毫无意义的 .0

最佳答案

使用条件在两种格式之间进行选择。

boost::format(abs(x-floor(x+0.05)) < 0.1 ? "%1$.0f" : "%1$.1f")

关于c++ boost format float - 如何指定我不想要 .和以下零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17753675/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com