首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在消息框中显示双精度

在消息框中显示双精度
EN

Stack Overflow用户
提问于 2012-04-30 03:06:20
回答 1查看 586关注 0票数 0

我在将双精度值转换为字符串,然后再转换为消息框时遇到了问题。据我所知,sprintf (大致来说,但不是最佳选择,因为某些方面)是我想要的函数。下面是我的示例代码,但我不确定哪里出错了。

代码语言:javascript
复制
DOUBLE time;
char timearray[30];
time = (double)(end.QuadPart - st.QuadPart)/(double)freq.QuadPart;
sprintf(timearray, "%lf", time);

我从这里到哪里去了?我尝试过像这样的东西;

代码语言:javascript
复制
MessageBox(NULL, timearray, TEXT("mb"), MB_OK);

但这会给出以下关于timearray参数的错误:"*char“类型的错误与"LPCWSTR”类型的参数不兼容。

你知道我哪里错了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-30 03:14:14

可能您的项目默认设置为使用宽(Unicode)字符,因此您应该使用wchar_twsprintf (更好,wnsprintf)。

代码语言:javascript
复制
double time;
wchar_t buffer[30];
time = (double)(end.QuadPart - st.QuadPart)/(double)freq.QuadPart;
_snwprintf(buffer, sizeof(buffer)/sizeof(*buffer), L"%lf", time);
MessageBoxW(NULL, buffer, L"mb", MB_OK);

或者,如果您想使用TCHARs:

代码语言:javascript
复制
double time;
TCHAR buffer[30];
time = (double)(end.QuadPart - st.QuadPart)/(double)freq.QuadPart;
_sntprintf(buffer, sizeof(buffer)/sizeof(*buffer), _T("%lf"), time);
MessageBox(NULL, buffer, _T("mb"), MB_OK);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10375063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档