我有一个浮点数.我想在消息框中打印它.怎么做?
MessageBox(hWnd, "Result = <float>", L"Error", MB_OK);
Run Code Online (Sandbox Code Playgroud)
更新:
我这样做,它在消息框中打印出中文字符.
float fp = 2.3333f;
sprintf(buffer,"%f",fp);
MessageBox(hWnd, LPCWSTR(buffer), L"Error", MB_OK);
Run Code Online (Sandbox Code Playgroud)
当您使用wchar_tWin32函数的版本时,您应该使用swprintf而不是sprintf:
float fp = 2.3333f;
const size_t len = 256;
wchar_t buffer[len] = {};
swprintf(buffer, L"%f", fp);
MessageBox(hWnd, buffer, L"Error", MB_OK);
Run Code Online (Sandbox Code Playgroud)
为避免潜在的缓冲区溢出,您还可以使用_snwprintf:
float fp = 2.3333f;
const size_t len = 256;
wchar_t buffer[len] = {};
_snwprintf(buffer, len - 1, L"%f", fp);
MessageBox(hWnd, buffer, L"Error", MB_OK);
Run Code Online (Sandbox Code Playgroud)
或者更好的是,使用std::wostringstream声明<sstream>:
float fp = 2.3333f;
std::wostringstream ss;
ss << fp;
MessageBox(hWnd, ss.str().c_str(), L"Error", MB_OK);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6944 次 |
| 最近记录: |