Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何将结果从Int更改为Float数据类型?_C++_Visual Studio 2010_Mfc - Fatal编程技术网

C++ 如何将结果从Int更改为Float数据类型?

C++ 如何将结果从Int更改为Float数据类型?,c++,visual-studio-2010,mfc,C++,Visual Studio 2010,Mfc,我在VS2010中使用MFC应用程序制作了电费计算器应用程序 程序正在运行,但我不能用float打印结果 这是我的计算代码: void CLAB10Dlg::OnBnClickedTotal() { float num1; float result; num1 = GetDlgItemInt(IDC_NUM1); CButton* domesticButton = (CButton*)GetDlgItem(IDC_DOMESTIC); CButton* industria

我在VS2010中使用MFC应用程序制作了电费计算器应用程序

程序正在运行,但我不能用float打印结果

这是我的计算代码:

void CLAB10Dlg::OnBnClickedTotal()
{


float num1; 
    float result;
    num1 = GetDlgItemInt(IDC_NUM1);

CButton* domesticButton = (CButton*)GetDlgItem(IDC_DOMESTIC);
CButton* industrialButton = (CButton*)GetDlgItem(IDC_INDUSTRIAL);
CButton* commercialButton = (CButton*)GetDlgItem(IDC_COMMERCIAL);

if(domesticButton -> GetCheck())
{
    result = 31.66 * num1;
SetDlgItemInt(IDC_RESULT,result);
}
else if(industrialButton -> GetCheck())
{
    result = 36.15 * num1;
SetDlgItemInt(IDC_RESULT,result);
}
else if(commercialButton -> GetCheck())
{
    result = 47.92 * num1;
SetDlgItemInt(IDC_RESULT, result);
}

}
例如,my
num1
=1

结果=31.66*num1

结果=31

我应该在何处更改,以便在浮点中打印出
结果。

将控件文本设置为无符号整数,从而将浮点值转换为无符号整数

您更应该使用来可视化您的浮点值,例如

CString text; 
text.Format(_T("%f", result); // This will preserve your float format
SetDlgItemText(IDC_RESULT, text);
将控件文本设置为无符号整数,从而将浮点值转换为无符号整数

您更应该使用来可视化您的浮点值,例如

CString text; 
text.Format(_T("%f", result); // This will preserve your float format
SetDlgItemText(IDC_RESULT, text);
将控件文本设置为无符号整数,从而将浮点值转换为无符号整数

您更应该使用来可视化您的浮点值,例如

CString text; 
text.Format(_T("%f", result); // This will preserve your float format
SetDlgItemText(IDC_RESULT, text);
将控件文本设置为无符号整数,从而将浮点值转换为无符号整数

您更应该使用来可视化您的浮点值,例如

CString text; 
text.Format(_T("%f", result); // This will preserve your float format
SetDlgItemText(IDC_RESULT, text);
你错过了括号

你错过了括号

你错过了括号



您错过了括号。

您必须改用SetDlgItemText()。看起来您必须使用和进行
float
到字符串的转换,反之亦然。
CString s;s、 格式(_T(“%f”),结果);SetDlgItemText(IDC_结果,s)@AlexFarber我应该把代码放在哪里?经过我的计算?因为我试着把这段代码放在我的“SetDlgItemInt(IDC_RESULT,RESULT);”后面我无法得到答案,您必须使用SetDlgItemText()。看起来您必须使用and进行
float
到字符串的转换,反之亦然。
CString s;s、 格式(_T(“%f”),结果);SetDlgItemText(IDC_结果,s)@AlexFarber我应该把代码放在哪里?经过我的计算?因为我试着把这段代码放在我的“SetDlgItemInt(IDC_RESULT,RESULT);”后面我无法得到答案,您必须使用SetDlgItemText()。看起来您必须使用and进行
float
到字符串的转换,反之亦然。
CString s;s、 格式(_T(“%f”),结果);SetDlgItemText(IDC_结果,s)@AlexFarber我应该把代码放在哪里?经过我的计算?因为我试着把这段代码放在我的“SetDlgItemInt(IDC_RESULT,RESULT);”后面我无法得到答案,您必须使用SetDlgItemText()。看起来您必须使用and进行
float
到字符串的转换,反之亦然。
CString s;s、 格式(_T(“%f”),结果);SetDlgItemText(IDC_结果,s)@AlexFarber我应该把代码放在哪里?经过我的计算?因为我试着把这段代码放在我的“SetDlgItemInt(IDC_RESULT,RESULT);”后面我不能得到答案.我应该改变我的声明浮点数num1和浮点数结果吗?你能告诉我我如何更改代码吗?你可以用command(/)@Newbie计算你的结果,然后使用我发布的代码。我试试你的代码,得到这个“s”:未声明的标识符“@Newbie修复了一个拼写错误,看看文档这是怎么做的”result=31.66*num1;CString文本;格式(_T(“%f”,result));SetDlgItemText(IDC_结果,文本);'但是结果是'0.0000',我应该更改我的声明float num1和float result吗?你能告诉我我如何更改代码吗?你可以用command(/)@Newbie计算你的结果,然后使用我发布的代码。我试试你的代码,得到这个“s”:未声明的标识符“@Newbie修复了一个拼写错误,看看文档这是怎么做的”result=31.66*num1;CString文本;格式(_T(“%f”,result));SetDlgItemText(IDC_结果,文本);'但是结果是'0.0000',我应该更改我的声明float num1和float result吗?你能告诉我我如何更改代码吗?你可以用command(/)@Newbie计算你的结果,然后使用我发布的代码。我试试你的代码,得到这个“s”:未声明的标识符“@Newbie修复了一个拼写错误,看看文档这是怎么做的”result=31.66*num1;CString文本;格式(_T(“%f”,result));SetDlgItemText(IDC_结果,文本);'但是结果是'0.0000',我应该更改我的声明float num1和float result吗?你能告诉我我如何更改代码吗?你可以用command(/)@Newbie计算你的结果,然后使用我发布的代码。我试试你的代码,得到这个“s”:未声明的标识符“@Newbie修复了一个拼写错误,看看文档这是怎么做的”result=31.66*num1;CString文本;格式(_T(“%f”,result));SetDlgItemText(IDC_结果,文本);'但结果是“0.0000”