小编Chr*_*ian的帖子

限制boost :: options_description中std :: cout默认值的精度

当我构造一个boost :: options_description实例时

options.add_options()
  ("double_val", value(&config.my_double)->default_value(0.2), "it's a double");
Run Code Online (Sandbox Code Playgroud)

然后想要自动输出我的程序可用的选项,然后放

std::cout << options << std::endl;
Run Code Online (Sandbox Code Playgroud)

默认值0.2显示的精度太高,当我有长变量名时,这有效地混淆了我的输出:

--double_val (=0.20000000000000001) it's a double
Run Code Online (Sandbox Code Playgroud)

不幸的是,先前调用std :: cout.precision没有帮助:

cout.precision(5);
std::cout << options << std::endl;
Run Code Online (Sandbox Code Playgroud)

这仍然导致相同的输出:/

您对如何将默认值的显示限制在较少的位置有任何想法吗?

最诚挚的问候,基督

c++ precision cout boost-program-options

10
推荐指数
1
解决办法
1574
查看次数

标签 统计

boost-program-options ×1

c++ ×1

cout ×1

precision ×1