请遵守以下代码:double rate=GetDlgItemInt(IDC_EDIT1,0,TRUE); double term=GetDlgItemInt(IDC_EDIT2,0,TRUE); double amount=GetDlgItemInt(IDC_EDIT3,0,TRUE); double final;
CString Content(_T("Thanks for using the calculator"));
if (CTaskDialog::IsSupported())
{
CString Heading(_T("Successfully calculated"));
CString Title(_T("Interest Calculator"));
CString Collapsed(_T("Collapsed Info"));
CString Expanded(_T("Expanded Info"));
CString Information(_T("Your information you want to calculate"));
CTaskDialog dia(Content,Heading,Title,TDCBF_OK_BUTTON);
final=amount*pow((1+rate),term);
SetDlgItemInt(IDC_EDIT4,final,FALSE);
dia.SetMainIcon(TD_ERROR_ICON);
dia.DoModal();
}
}
我试图做的是为计算器创建GUI,该计算器计算基金的未来价值。我希望所有变量都为双精度。但是代码“ GetDlgItemInt”的一部分显然是为整数而设计的,我不知道如何更改它以获取双精度。请帮我解决一下这个。提前致谢。
最佳答案
返回double
的等效函数可以是:
double GetDlgItemDouble(HWND hWnd, UINT uId)
{
TCHAR tchBuf[80];
GetDlgItemText(hWnd, uId, tchBuf, 80);
return _ttof(tchBuf);
}
如果字符串包含非数字字符等,您可能需要添加错误检查。
关于c++ - GetDlgItemInt和SetDlgItemInt的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19921924/