当我构造一个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)
这仍然导致相同的输出:/
您对如何将默认值的显示限制在较少的位置有任何想法吗?
最诚挚的问候,基督