gpt4 book ai didi

c++ - 使用 stringstream 精度格式化 float 但丢弃零填充

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:11:30 25 4
gpt4 key购买 nike

我正在尝试将 float 和长 double 的精度(即小数位数)设置为 10,但我不希望它们用零填充。即,

123456.789123456789 应该给出 123456.7891234568,但是123456 不应该给出 123456.0000000000,而是 123456

到目前为止,我已经将范围缩小到:

long double myNumber;
string myString;
ostringstream myStream;
myStream.setf(ios::fixed,ios::floatfield);
myStream.precision(10);
myStream << myNumber;
myString = myStream.str();

我也试过摆弄 setfill(' ') 和 std::ws 但无法真正掌握它。有什么建议吗?

最佳答案

不要对 ios::floatfield 使用 ios::fixed。这就是导致填充的原因。只需使用 setprecision

关于c++ - 使用 stringstream 精度格式化 float 但丢弃零填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15740658/

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