gpt4 book ai didi

c++ - 将 double 值格式化为小数点后一位

转载 作者:太空狗 更新时间:2023-10-29 23:40:32 25 4
gpt4 key购买 nike

我是 C++ 的新手,正在努力处理一段代码。我在对话框中有一个静态文本,我想在单击按钮时更新它。

double num = 4.7;
std::string str = (boost::lexical_cast<std::string>(num));
test.SetWindowTextA(str.c_str());
//test is the Static text variable

但是文本显示为 4.70000000000002。我如何让它看起来像 4.7。

我使用了 .c_str(),否则会引发 cannot convert parameter 1 from 'std::string' to 'LPCTSTR' 错误。

最佳答案

c_str() 的使用在这里是正确的。

如果您想更好地控制格式,请不要使用 boost::lexical_cast 并自行实现转换:

double num = 4.7;
std::ostringstream ss;
ss << std::setprecision(2) << num; //the max. number of digits you want displayed
test.SetWindowTextA(ss.str().c_str());

或者,如果您需要将字符串设置为窗口文本,如下所示:

double num = 4.7;
std::ostringstream ss;
ss << std::setprecision(2) << num; //the max. number of digits you want displayed
std::string str = ss.str();
test.SetWindowTextA(str.c_str());

关于c++ - 将 double 值格式化为小数点后一位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19135953/

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