在c ++中,这是一种简单的方法,可以提高偶数的精度:
例如
double d = 3.6
将是
d = 3.600 (adding 2 zeros)
然后将此d发送到字符串类
std::to_string(d);
你可能会问为什么?我正在使用GUI(gtkmm),在textview中,生成的每个数字必须具有相同的长度。
如果长度不相同,则为结果:
4.396 3.957 11
4.183 3.783 10
3.959 3.6 9
3.723 3.404 8
3.474 3.194 7
3.207 2.967 6
2.919 2.719 5
是否可以增加小数 - 即当值是基元时添加额外的零,或者我之后是否必须操纵字符串?
编辑:我应该更清楚 - 我对std :: cout不感兴趣。输出abow代表GUI答案 0 :(得分:3)
从技术上讲,您不会更改double
类型的精度。如果数字太短,要添加“额外零”,您可以使用std::stringstream
,如下所示:
std::stringstream s;
double d = 3.6;
s << std::fixed << std::setprecision(3) << d;
std::string res = s.str();
std::cout << res;
以上将数字精度设置为3
位并打印3.600
。