大家好,问个初级问题,我要输出一个浮点数,想把后面的0都去掉,怎么做,谢谢。例如: . 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 95. 3. 0. 0. 0. 0. 0. 0. 31.129 0.

解决方案 »

  1.   

    double a = 123.456;
    CString s;
    s.Format("%6.0f",a);结果为s = "123";
      

  2.   

    CString Format(double d )
    {
    CString s;
    s.Format("%6.7f",d);
    if(-1!=s.Find('.'))
    s.TrimRight('0');
    return s;
    }
      

  3.   

    “一个合理的需求也不会出现你说的情况”
    那也未必,SQL Server中就是这样做的。我也不知道为什么要这样,没有必要。
      

  4.   

    我做过这个函数:
    static CString f2s(double f)
    {
    CString temp;
    temp.Format(_T("%.20f"), f);
    temp.TrimRight('0');
    temp.TrimRight('.');
    if (temp == _T("")) temp = _T("0");
    return temp;
    }