php封装好的人民币数值转中文大写类
发布时间:2020-05-23 17:50:03 所属栏目:PHP 来源:互联网
导读:这篇文章主要给大家分享了几个php实现的人民币数值转中文大写的代码,非常的全面,有需要的小伙伴可以查看下
|
php封装好的人民币数值转中文大写类 2) {
if($is_round){
if(round(floatval("0.".$dec),2) == 1 && $dec_to_int){//小数进位到个位
$int = empty($int)?1: strval($parts[0]+1);
$dec = 0;
}elseif(round(floatval("0.".$dec),2) == 1){//小数不进位到个位
$dec = "99";
}else{
$dec = substr(strrchr(strval(round(floatval("0.".$dec),2)),'.'),1);
echo $dec;die('boss');
}
}else{
$dec = substr($parts[1],2);
}
}
// 当number为0.001时,小数点后的金额为0元
if (empty($int) && empty($dec)) {
return '零';
}
} } 使用方法 再给大家分享一个简单点的 function _cny_map_unit($list,$units) { $ul = count($units); $xs = array(); foreach (array_reverse($list) as $x) { $l = count($xs); if($x!="0" || !($l%4)) { $n=($x=='0'?'':$x).($units[($l-1)%$ul]); } else { $n=is_numeric($xs[0][0]) ? $x : ''; } array_unshift($xs,$n); } return $xs; } $value='23058.04'; 输出:贰万叁仟零伍拾捌圆肆角 再来一个网友做好的也很不错 10) { return "金额太大,请检查"; } $i = 0; $c = ""; while (1) { if ($i == 0) { //获取最后一位数字 $n = substr($num,strlen($num)-1,1); } else { $n = $num % 10; } //每次将最后一位数字转化为中文 $p1 = substr($c1,3 * $n,3); $p2 = substr($c2,3 * $i,3); if ($n != '0' || ($n == '0' && ($p2 == '亿' || $p2 == '万' || $p2 == '元'))) { $c = $p1 . $p2 . $c; } else { $c = $p1 . $c; } $i = $i + 1; //去掉数字最后一位了 $num = $num / 10; $num = (int)$num; //结束循环 if ($num == 0) { break; } } $j = 0; $slen = strlen($c); while ($j < $slen) { //utf8一个汉字相当3个字符 $m = substr($c,$j,6); //处理数字中很多0的情况,每次循环去掉一个汉字“零” if ($m == '零元' || $m == '零万' || $m == '零亿' || $m == '零零') { $left = substr($c,$j); $right = substr($c,$j + 3); $c = $left . $right; $j = $j-3; $slen = $slen-3; } $j = $j + 3; } //这个是为了去掉类似23.0中最后一个“零”字 if (substr($c,strlen($c)-3,3) == '零') { $c = substr($c,strlen($c)-3); } //将处理的汉字加上“整” if (empty($c)) { return "零元整"; }else{ return $c . "整"; } } echo num_to_rmb(23000000.00); //贰仟叁佰万元整(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
