以double类型小数0.274002149218631为例
解决:
方法一:精确到小数点后一位
1)首先为控件Edit添加一个CString类型的变量
2)添加代码(将double类型小数转换为CString类型显示):
CString s; double max = 0.274002149218631; s.Format("%.lg", max); //显示一位小数 //s.Format(_T("%.2f"), max);//显示两位小数,"%.3f"—显示三位小数(因为采用UNICODE编码, 添加 _T ,".2f" 控制小数点位数) max_edit =s; UpdateData(FALSE);
效果:
方法二:原来多少位的小数,就显示多少位的:
1)为编辑框Edit添加一个double类型的变量min_edit
2)添加代码(直接显示double类型的小数):
double max = 0.274002149218631; min_edit = max; UpdateData(FALSE);//把控件关联的变量值“刷到”控件上显示
效果:
方法三:任意控制小数点后的位数:
1)为编辑框Edit添加一个double类型的变量min_edit
2)添加代码:
double max = 0.274002149218631; min_edit = max; min_edit = floor(min_edit * 1000.000f + 0.5) / 1000.000f; UpdateData(FALSE);//把控件关联的变量值“刷到”控件上显示
上面是精确到小数点后三位,如果精确到小数点后两位,改成100.000f。
效果:
注: UpdateData(FALSE),作用是将数据呈现出来。