如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 353 编程语言
在做程序的时候,我们会遇到要把数字的钱数转为中文的大写钱数
function cny($money) {
$cnums=array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
$cnyunits=array("圆","角","分");
$grees=array("拾","佰","仟","万","拾","佰","仟","亿");
if(strpos($money,'.') !== false){ //拆分整数小数 分别赋值给变量
list($int,$dec)=explode(".",$money,2);
}else{
list($int,$dec)=[$money,0];
}
$dec=array_filter(array($dec[1],$dec[0])); //过滤分数
$ret=array_merge($dec,array(implode("",cny_to_unit(str_split($int),$grees)),"")); //先处理单位
$ret=implode("",array_reverse(cny_to_unit($ret,$cnyunits)));
return str_replace(array_keys($cnums),$cnums,$ret);
}
function cny_to_unit($list,$units) {
$ul=count($units);
$xs=array();
foreach (array_reverse($list) as $x) { /反转数组便于处理
$l=count($xs);
if ($x!="0" || !($l%4)) {
if ($l != 0) {
$n=($x=='0'?'':$x).($units[($l-1)%$ul]);
}else{
$n=($x=='0'?'':$x);
}
}
else {
$n=is_numeric($xs[0][0])?$x:'';
}
array_unshift($xs,$n);
}
return $xs;
}
调用函数
echo cny('120');
调用函数
echo cny('120.18');
小编在网站上找到很多的栗子,觉得这个是代码最少的,但是我在用的过程中,会报数组溢出等错误,所以现在是小编改造过的代码。大家可以灵活运用
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章
如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 353 编程语言
web图表开发工具FineReport:[11]连续分组,数据库表数据是按照时间先后录入的,查询的时候希望按照时间先后,某个字段连续相同的话就合并起来显示,这样的报表可以通过相邻连续分组来实现。......
2023-03-17 577 编程语言