MFC里怎么在一个文本框里显示一个变量值?
答案:7 悬赏:30 手机版
解决时间 2021-03-20 08:23
- 提问者网友:雾里闻花香
- 2021-03-19 16:40
MFC里怎么在一个文本框里显示一个变量值?
最佳答案
- 五星知识达人网友:山君与见山
- 2021-03-19 18:05
直接将变量值转换成CString,在现实到静态文本框。
CString str;
str.Format("%f", a);
SetDlgItemText( IDC_STATIC1, str);
CString str;
str.Format("%f", a);
SetDlgItemText( IDC_STATIC1, str);
全部回答
- 1楼网友:患得患失的劫
- 2021-03-20 01:24
默认5位有点多,你可以这样做:
CString str;
double x = 7;
//double x = 7.20000;
//double x = 7.00002;
if((double)((int)x)==x){
str.Format("%d", (int)x);
MessageBox(str);
}else{
str.Format(_T("%f"), x);
str.TrimRight(_T("0"));
MessageBox(str);
}
CString str;
double x = 7;
//double x = 7.20000;
//double x = 7.00002;
if((double)((int)x)==x){
str.Format("%d", (int)x);
MessageBox(str);
}else{
str.Format(_T("%f"), x);
str.TrimRight(_T("0"));
MessageBox(str);
}
- 2楼网友:渊鱼
- 2021-03-19 23:51
你可以打开类向导,在变量选项卡给IDC_STATIC1 添加变量 类型选float
然后到时候给变量赋值后 UpdateData(False) 就可以自动将值赋给控件追问赋值后好像并没有显示出变量,文本框仍然显示的是static追答你把UpdateDate写哪里了,变量咋赋的 必须得触发Update函数 比如写在InitDialog里面追问我设了一个button,把它写到OnBnClickedButton里面了,行不?追答可以
然后到时候给变量赋值后 UpdateData(False) 就可以自动将值赋给控件追问赋值后好像并没有显示出变量,文本框仍然显示的是static追答你把UpdateDate写哪里了,变量咋赋的 必须得触发Update函数 比如写在InitDialog里面追问我设了一个button,把它写到OnBnClickedButton里面了,行不?追答可以
- 3楼网友:爱难随人意
- 2021-03-19 22:59
GetDlgItem
SetDlgItemText
SetDlgItemText
- 4楼网友:撞了怀
- 2021-03-19 22:10
追问报错了
cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'
=========================
你应该是用的vs吧,vs新建工程时默认使用了unicode字符集,wchar_t就是unicode对应的字符类型
需要设置下工程属性(Alt+F7)→配置属性→常规→项目默认值→字符集,设置成“未设置”就行了追问谢谢你,请问怎么控制float的小数位数?它默认都是显示小数点后5位,我觉得有点多
cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'
=========================
你应该是用的vs吧,vs新建工程时默认使用了unicode字符集,wchar_t就是unicode对应的字符类型
需要设置下工程属性(Alt+F7)→配置属性→常规→项目默认值→字符集,设置成“未设置”就行了追问谢谢你,请问怎么控制float的小数位数?它默认都是显示小数点后5位,我觉得有点多
- 5楼网友:动情书生
- 2021-03-19 20:40
在VC.net 9.0里面 要写:str.Format(_T("%.2f"),a);
- 6楼网友:摆渡翁
- 2021-03-19 19:38
一楼提供的是一种方法,我再提供两种方法。
1)、
CString str;
str.Format("%f", a);
this->SetDlgItemText(IDC_STATIC1, str);
2)、
CString str;
str.Format("%f", a);
CWnd* pwnd = this->GetDlgItem(IDC_STATIC1);
pwnd->SetWindowText(str);追问报错了
cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'追答你如果想在小数点后保留2位,就这么写:
str.Format("%.2f", a);
1)、
CString str;
str.Format("%f", a);
this->SetDlgItemText(IDC_STATIC1, str);
2)、
CString str;
str.Format("%f", a);
CWnd* pwnd = this->GetDlgItem(IDC_STATIC1);
pwnd->SetWindowText(str);追问报错了
cannot convert parameter 1 from 'const char [3]' to 'const wchar_t *'追答你如果想在小数点后保留2位,就这么写:
str.Format("%.2f", a);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯