float f1, f2, f3;
CString s;
s.Format("%-10.3f\n%-10.3f\n%-10.3f\n", f1, f2, f3);

解决方案 »

  1.   

    SetTextAlign(hdc,TA_RIGHT|TA_TOP)
    具体参数可能有些变化。看一下msdn吧
      

  2.   

    azuo_lee,我就是这么做的,不行。
      

  3.   

    如果是在windows下的程序,用我那个,管用!!
      

  4.   

    在你的对话框上加一个Static Control,Styles里面Align Text选Right,取消No Wrap风格,再将ID改一下,比如改成ID_STATIC_NUMBER,输出是这样写:
    float f1, f2, f3;
    CString s;
    s.Format("%-10.3f\n%-10.3f\n%-10.3f\n", f1, f2, f3); 
    pDlg->SetDlgItemText(ID_STATIC_NUMBER, s);
      

  5.   

    转化成string后,填充左面的空格
      

  6.   

    不会呀,我刚试过,挺好用的
    CString str1="123";
    CString str2="123456";
    CString str3="123456789";
    for(int i=0;i<100;i++)
    {
    pDC->SetTextAlign(TA_TOP|TA_RIGHT);
    pDC->TextOut(200,i*100+20,str1);
    pDC->TextOut(200,i*100+40,str2);
    pDC->TextOut(200,i*100+60,str3);
    }
      

  7.   

    float f1, f2, f3;
    CString s;
    s.Format("%-10.3f\n%-10.3f\n%-10.3f\n", f1, f2, f3); 
    去掉负号试试