【mfc】如何设置与Edit控件关联的double变量所显示的小数位数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【mfc】如何设置与Edit控件关联的double变量所显示的小数位数相关的知识,希望对你有一定的参考价值。

有的double型变量貌似把小数点后的000000都省了,不是0的显示很多位小数,如何统一显示规定位数的结果

MFC的编辑框关联浮点数是这样定义的显示输出:(MFC的DoDataExchange相关源代码中)

        _stprintf(szBuffer, _T("%.*g"), nSizeGcvt, value);
        AfxSetWindowText(hWndCtrl, szBuffer);

%g输出,是自动格式控制的,因此可以肯定的告诉你,关联变量不可能支持小数点后面几位0的格式化。

要支持类似%.5f这样的格式化输出,关联浮点数double或者float变量是不可能实现的。

这种情况下,比较方便的做法就是改成关联CString字符串变量,格式通过CString::Format函数来实现自己控制。

参考技术A 使用floor()函数,它的作用是向下取整,那么保留一位的话可以将数据×10再÷10。即:
float u = 1.2345;
m_Et1 = floor(u*10.0f)/10.0f; //这里m_Et1就是你关联的double型Edit变量
//要是四舍五入的话,m_Et1 = floor(u*10.0f+0.5)/10.0f;

以上是关于【mfc】如何设置与Edit控件关联的double变量所显示的小数位数的主要内容,如果未能解决你的问题,请参考以下文章

MFC 中关于Edit控件问题

如何改变mfc对话框中的控件中的字体大小

vc MFC EDIT控件 设置光标位置

VC MFC对话框有多个Edit控件,只更新其中一个Edit控件的显示(已设置对应的int变量),

如何将自旋控件关联到 MFC 中的不同编辑框

mfc如何使编辑框与变量关联?