EditBox中的浮点数处理问题
要实现的功能:
自动处理输入的浮点数,超过n位小数的自动截掉后面的。
我的方法(有缺陷):
///////////
//EditBox定义为double m_d1
UpdateData();
int m = int(pow(10, n));
double d = floor(m_d1 * m);//假设录入的都是正数
m_d1 = d / m;
UpdateData(FALSE);
/////////
但是这里有个很可笑的问题,如果录入的是5.6,出来的就是5.59。
DEBUG发现,5.6其实存进去是5.5999999999999996,最后就倒腾成5.59了……。
各位有没有好方法?
另请教VC中有没有类似DELPHI中的MASKEDIT控件的?