PHP转换成英文

复制代码代码如下所示:
< PHP
$ = 1220.01;
回声fmoney($num); / /结果:1220.21
回声umoney(美元数);
结果:一千美元和二百二十美元,只有二十一美分。
回声umoney($民,人民币);
结果:一千元,二百二十元二十一分。

定义
货币格式
功能fmoney($num){
$ = 0;
为民= sprintf(%。02f
如果(strlen($num)<= 6)返回的值;
从最近一次到3个数字中的每一个
为($我= strlen(美元数)1,$ K = 1,J = 100;$我> = 0;美元美元我,K +){
one_num美元= substr($民,我,1);
如果($ one_num = ={。)
{,},Numarray美元美元美元one_num =;
$ k=0;
继续;
}

如果(k $ 3 = 0和$ i!= 0){
如果只有3个数字,则不是,
{,},Numarray美元美元美元one_num =;
= $ Numarray { $ J—}
$ k=0;
{人}
{,},Numarray美元美元美元one_num =;
}
}
Ksort($ Numarray);
返回连接()
}




功能umoney($num,$类型=美元){
全球numtable commatable美元,美元,美元moneytype;

/ /全球numtable美元;
为numtable { 0 } =零;
为numtable { 1 } = ;
为numtable { 2 } =两;
为numtable { 3 } =三;
为numtable { 4 } =四;
为numtable { 5 } =五;
为numtable { 6 } =六;
为numtable { 7 } =七;
为numtable { 8 } =八;
为numtable { 9 } =九;
为numtable { 10 } =十;
为numtable { 11 } =十一;
为numtable { 12 } =十二;
为numtable { 13 } =十三;
为numtable { 14 } =十四;
为numtable { 15 } =十五;
为numtable { 16 } =十六;
为numtable { 17 } =十七;
为numtable { 18 } =十八;
为numtable { 19 } =十九;
为numtable { 20 } =二十;
为numtable { 30 } =三十;
为numtable { 40 } =四十;
为numtable { 50 } =五十;
为numtable { 60 } =六十;
为numtable { 70 } =七十;
为numtable { 80 } =八十;
为numtable { 90 } =九十;

为commatable { 0 } =百;
为commatable { 1 } =千;
为commatable { 2 } =万;
为commatable { 3 } =十亿;
$commaTable{4}= BILLION;
为commatable { 5 } = ;

单位
moneytype美元{美元美元} =;
moneytype美元{usd_1美分} =;
moneytype美元{人民币元} =;
moneytype美元{rmb_1 汾酒唯一} =;


如果($ type = )$ $ $ ;
fnum美元= fmoney(美元数);
$ Numarray =爆炸(
resultarray美元=阵();
$ k=0;
CC =数美元($ Numarray);
为($我= 0;$我<计数($ Numarray美元);i++){
num_str =美元美元美元Numarray {我};

400.21小数位处理
如果(eregi(num_str美元。)){
dotarray美元=爆炸(,
如果($ dotarray { 1 }!= 0){
resultarray美元{ $ K + } = format3num($ dotarray { 0 } + 0);
resultarray美元{ $ K + } = { strtolower moneytype美元(合型)};
resultarray美元{ $ K + } = 和;
resultarray美元{ $ K + } = format3num($ dotarray { 1 } + 0);
resultarray美元{ $ K + } = { strtolower moneytype美元(合型)。_1};
{人}
resultarray美元{ $ K + } = format3num($ dotarray { 0 } + 0);
resultarray美元{ $ K + } = { strtolower moneytype美元(合型)};
}
{人}
非十进制处理
如果(($ num_str + 0)!= 0){
resultarray美元{ $ K + } = format3num($ num_str + 0);
resultarray美元{ $ K + } = { } commatable美元美元的CC;
法官:除了小数点/如果不是0加上
对于($ = $ i;$ $ cc;$ + +){

/ / echo Numarray { $ J };
如果($ Numarray { $ J }!= 0){
resultarray美元{ $ K + } = 和;
打破;
}
}
}
}
}
返回连接()
}



功能format3num($num){
全球numtable美元,commatable美元;
numlen美元= strlen($num);
为($我= 0,J = 0;美元美元美元我<< numlen;i++){
bitenum美元{ $ J++ } = substr($民,我,1);
}
如果($ = 0)返回;
如果($ numlen = = 1)返回的numtable { $民};
如果($ numlen = = 2){
如果(合民20)返回的numtable { $民};
第一个不可能的零
如果($ bitenum { 1 } = = 0){
返回的numtable { $民};
{人}
返回装饰($ numtable { $ bitenum { 0 }×10 })。。numtable美元{ $ bitenum { 1 } };
}

}
第一不能为零
如果($ numlen = = 3){
如果($ bitenum { 1 } = = 0美元bitenum { 2 } = = 0){
100
返回的numtable { $ bitenum { 0 } }。$ commatable { 0 };
} elseif($ bitenum { 1 } = = 0){
102
返回的numtable { $ bitenum { 0 } }。$ commatable { 0 },{ numtable美元美元bitenum { 2 } };
($ bitenum { 2 } = = 0){ }
120
返回的numtable { $ bitenum { 0 } }。$ commatable { 0 },{ numtable美元美元bitenum { 1 }×10 };
{人}
123
返回的numtable { $ bitenum { 0 } }。$ commatable { 0 }。修剪($ numtable { $ bitenum { 1 }×10 })。。numtable美元{ $ bitenum { 2 } };
}
}
返回$;
}
>