如何把:会计上的金额:123456789.321转换成中文大写 和 英文.??
 壹亿贰仟叁佰肆拾伍万陆仟柒佰捌拾玖圆叁角贰分壹厘.
和相应的英文写法???????????

解决方案 »

  1.   

    String UpperMoney(double jn)
    {
        int L , ZL , Z , U , V;
        AnsiString F = "壹贰叁肆伍陆柒捌玖" ;
        AnsiString G = "元万亿万拾佰仟分角" ;
        AnsiString AA , B , JNS;
        JNS.SetLength(255);
        double je ;    if(jn<=0)
           return "零" ;je=(jn<1?jn*100:jn);sprintf(JNS.c_str(),"%26.2f",je) ;
    JNS=TrimRight(TrimLeft(JNS)) ;L = StrLen(JNS.c_str()) ; 
    L=(jn<1?(jn<0.1?1:2):L) ;ZL = L+1 ;AA =AnsiString("") ;
    B = AnsiString("") ; for( ;L>0; )
        {
            Z = StrToInt(JNS.SubString(ZL-L,1)) ; 
            U = int(L/4) ; 
            V = L%4 ;         if( Z>0 ) 
            { 
                U=(V==0?U+U-1:V+V+(U>0?7:13)) ; 
                AA = AA+B+F.SubString(Z+Z-1,2)+G.SubString(U,2) ;
                B = "" ;
            } 
            else 
            {
                if(L==1)
                    AA=AA+"整" ; 
                else
                {
                    if(V==0)
                        AA=AA+G.SubString(U*2-1,2); 
                    else
                        AA=AA+"" ;
                }            B=(V>=0?"零":"") ;
            }
            L=(L==4?2:L-1) ;
        }
        return AA ;
    }
    服了你了.发了这么多贴子
    我跟着你接分好了.你结了贴分数也不会少的.记得头文件是 
    #include <stdio.h>
      

  2.   

    ahh没有什么可以偷懒的办法,只能自己写了。
      

  3.   

    如果是VC或 JAVA写的很好。
     如果可以象金山词霸一样鼠标取词一样就更好了。