您正在使用IPV4(44.192.247.184)访问本站 您本次共访问本站 1 次
 用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
[公益]文明驾车我带头,文明行路我带头,礼貌让座我带头       悟空收录网      

【腾讯云】云服务器等爆品抢先购,低至4.2元/月      
[公益] 节省一分零钱 献出一份爱心 温暖世间真情      
2023年 元宵节 4
2023年 情人节 13
2024年 元 旦 334
2024年 春 节 374
 
您现在的位置:首页 >> PHP >> 内容
本类新增
本类热门文章
php把字符串转换为大写_金额大小写顺序
内容摘要: functionupper($ns){static$cnums=array(“零”,”壹”,”贰”,”叁”,”肆”,”伍”,”陆”,”柒”,”捌”,”玖”),$cnyunits=array(“圆”,”角”,”分”),$grees=array(“拾”,”佰”,”仟”,”万”,”拾”,”佰”,”仟”,”亿”);list(ns1,ns2)=explode(“.”,......
functionupper($ns){

static$cnums=array(“零”,”壹”,”贰”,”叁”,”肆”,”伍”,”陆”,”柒”,”捌”,”玖”),

$cnyunits=array(“圆”,”角”,”分”),

$grees=array(“拾”,”佰”,”仟”,”万”,”拾”,”佰”,”仟”,”亿”);

list(ns1,ns2)=explode(“.”,

ns2=array_filter(array(ns2[1],

ret=array_merge(ns2,array(implode(“”,calu(str_split(ns1),grees)),””));

ret=implode(“”,array_reverse(calu(ret,

returnstr_replace(array_keys(cnums),cnums,

}

functioncalu(list,units){

ul=count(units);

$xs=array();

foreach(array_reverse(list)asx){

l=count(xs);

if(x!=”0″||!(l%4))n=(x==’0′?”:x).(units[(l-1)%ul]);

elsen=is_numeric(xs[0][0])?

array_unshift(xs,n);

}

return$xs;

}

echoupper(‘12121’);

?>

以上是基础转换代码,在这个基础上进行二次改造:<?PHP

/**

*转换大写金额

*$num数字类型

*/

functioninttod($num){

//判断$num是否存在

if(!$num)return‘零圆’;

//保留小数点后两位

num=round(num,2);

//将浮点转换为整数

tem_num=num*100;

//判断数字长度

tem_num_len=strlen(tem_num);

if($tem_num_len>14){

return‘数字太大了吧,有这么大的金钱吗’;

}

//大写数字

$dint=array(‘零’,‘壹’,‘贰’,‘叁’,‘肆’,‘伍’,‘陆’,‘柒’,‘捌’,‘玖’);

//大写金额单位

$danwei=array(‘仟’,‘佰’,‘拾’,‘亿’,‘仟’,‘佰’,‘拾’,‘万’,‘仟’,‘佰’,‘拾’,‘圆’);

$danwei1=array(‘角’,‘分’);

//空的变量用来保存转换字符串

$daxie=”;

//分割数字,区分圆角分

list(left_num,right_num)=explode(‘.’,

//计算单位长度

danwei_len=count(danwei);

//计算分割后的字符串长度

left_num_len=strlen(left_num);

right_num_len=strlen(right_num);

//循环计算亿万元等

for(i=0;i<left_num_len;i++){

//循环单个文字

key_=substr(left_num,

//判断数字不等于0或数字等于0与金额单位为亿、万、圆,就返回完整单位的字符串

if(key_!==‘0’||(key_==‘0’&&(danwei[danwei_len–left_num_len+i]==‘亿’||danwei[danwei_len–left_num_len+i]==‘万’||danwei[danwei_len–left_num_len+i]==‘圆’))){

daxie=daxie.dint[key_].danwei[danwei_len–left_num_len+i];

}else{

//否则就不含单位

daxie=daxie.dint[key_];

}

}

//循环计算角分

for(i=0;i<right_num_len;i++){

key_=substr(right_num,

if($key_>0){

daxie=daxie.dint[key_].danwei1[i];

}

}

//计算转换后的长度

daxie_len=strlen(daxie);

//设置文字切片从0开始,utf-8汉字占3个字符

$j=0;

while($daxie_len>0){

//每次切片两个汉字

str=substr(daxie,

//判断切片后的文字不等于零万、零圆、零亿、零零

if(str==‘零万’||str==‘零圆’||str==‘零亿’||str==‘零零’){

//重新切片

left=substr(daxie,0,

right=substr(daxie,

daxie=left.

}

$j+=3;

$daxie_len-=3;

}

return‘人民币’.$daxie.‘整’;

}

$result=inttod(99090909090.19);

var_dump($result);

版权声明:本内容来源于网络,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:PHP即时在单位数字前添加前导零 下一篇:PHP判断后缀名和随机命名实例
发布日期:2023/1/18
手机扫二维码直达本页
发布时间:12:28:15
点  击:40
录  入:齐天大圣
相关文章
Baidu

YiJiaCMS 6.3.5.220928(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,百度云加速提供加速防护
Copyright©2000-2023