转英文 TotalEng

static str totalEng(real _realValue,CurrencyCode _currencyCode = "USD")
{
    int                 sLen,sFind,sFindA,sFindB;
    str                 num2En,num2En_int,num2EnA,num2EnB,num2EnA_1,num2EnB_1,num2En_F;
    real                ttlPrice = _realValue;
    ;
    if (ttlPrice<0)
        ttlPrice=ttlPrice*-1;
    num2En      = numeralsToTxt_EN(ttlPrice);
    sLen        = strlen(num2En);
    sFind       = strfind(num2En,'/',1,sLen)-2;
    num2En_int  = strdel(num2En,sFind-4,sLen);
    num2EnA     = numeralsToTxt_EN(str2num(substr(num2En,sFind,2)));

    sFindA      = strfind(num2EnA,'/',1,strlen(num2EnA))-11;

    num2EnA_1     = substr(num2EnA,4,sFindA);

    if (ttlPrice>=1)
    {
        if (num2EnA_1)
            num2En_F = num2En_int + "and Cents" + num2EnA_1;
        else
            num2En_F = num2En_int;
    }
    else if (ttlPrice<1 && ttlPrice>0)
        num2En_F = num2EnA_1 + " Cents";

    return strfmt("@ACT2132",strupr(Currency::find(_currencyCode).Txt),"",strupr(strLRTrim(strdel(num2En_F,1,4))));
}

posted @ 2012-02-29 14:47  perock  阅读(236)  评论(0编辑  收藏  举报