格式漂浮在C MFC中
format float in C++ mfc
我使用VS2010在Windows 7中构建MFC程序。我想在生成的报告中格式化浮点数据。
我尝试使用%f,但报告中显示了"%f"。
CString m_Iwork_min;
struct m_report_info;
m_Iwork_min = ......;
......
m_report_info.Iwork = "Pass, %f, %f, %f", atof(m_Iwork_min),
atof(m_Iwork_max), atof(Value[0].c_str());
预期结果:
Pass,1.2,3.4,5.67
实际结果:
通过,%f,%f,%f
它不会单独填充格式字符串,您必须调用功能才能这样做。snprintf
可以用于此,但是在您的情况下,您可能正在寻找CString::Format
。很难说您的代码中发生了什么,因为没有MCVE,所以我做了一些假设,并进行了以下操作:
#include <tchar.h>
#include <atlstr.h>
#include <string>
int main()
{
CString m_Iwork_min = "1.2";
CString m_Iwork_max = "3.4";
std::string Value[] = { "5.67", "foo", "bar" };
CString Iwork;
Iwork.Format(_T("Pass, %lf, %lf, %lf"), _tstof(m_Iwork_min),
_tstof(m_Iwork_max), atof(Value[0].c_str()));
_tprintf(_T("%s"), (LPCTSTR)Iwork);
return 0;
}
输出:
通行证,1.200000,3.400000,5.670000
代码中的c_str
使您看起来像是要混合CString
和std::string
。这真的是您的意图吗?确保在您的问题中始终包含最小,完整和可验证的示例,它们使您更容易为您提供帮助。
相关文章:
- C++ MFC Libraries in Travis CI
- 从 bmp 文件数据创建 MFC CBitmap
- 如何在 MFC 中显示文件的所有行
- 目录删除 MFC 的问题
- MFC:如何设置CEdit框的焦点?
- MFC 中的抗锯齿
- 双击更改 mfc 中列表控件中的行的颜色
- C++MFC编辑框处理双击
- C++ MFC CObject 派生类摘要?
- 如何在 MFC 对话框中使用 OnDraw
- 在 1 个服务器 n 客户端套接字 C++ MFC 应用程序中更新数据的客户端
- MFC:你能在CDateTimeCtrl中改变自旋的加速度吗?
- MFC:我们如何轻松地从CTreeCtrl切换到CTreeView?
- __int64 CString 返回错误的值 - C++ MFC
- 如何在MFC中的静态文本控件上插入图标?
- 使用 MFC 的表/网格
- MFC 中的窗口消息管理:添加基类调用是否是强制性的?
- MFC/C++ ComboBox:禁用下拉列表关闭和打开(UI 冻结)的绘制
- C++ MFC 跟踪事件调用
- 格式漂浮在C MFC中