因为内在的数据要求精度高,但显示精度要求受到限制,如果通过与字符串转化来控制显示精度就丢失了数据精度

解决方案 »

  1.   

    CString的Format方法啊
    根据要求自己定精度
      

  2.   

    CString str;str.Format(_T("First  Floating point: %f\n"), 12345.12345);
    str.Format(_T("Second Floating point: %.2f\n"), 12345.12345);output:
    12345.12345
    12345.12
      

  3.   

    double n=23.1212121212;
    char a[255];
    sprintf(a,"%12.10f",n);
      

  4.   

    文本框定义为double类型后
    double  a=1.23232; //a 与文本框关联
    要求文本框  显示1.23 并接受实数输入,如果没有用户输入  最好返回a=1.23232,否则返回用户输入数据
    现状只好
    char str[255];
    sprintf(str,"%.2f",a);
    a=atof(str);
     但这样麻烦也损失了精度