用PHP实现小写金额转换大写金额的代码(精确到分)

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

/**
*数字金额转换成中文大写金额的函数
*String Int $num 要转换的小写数字或小写字符串
*return 大写字母
*小数位为两位
**/
function get_amount($num){
$c1 = "零壹贰叁肆伍陆柒捌玖";
$c2 = "分角元拾佰仟万拾佰仟亿";
$num = round($num, 2);
$num = $num * 100;
if (strlen($num) > 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) {
$m = substr($c, $j, 6);
if ($m == '零元' || $m == '零万' || $m == '零亿' || $m == '零零') {
$left = substr($c, 0, $j);
$right = substr($c, $j + 3);
$c = $left . $right;
$j = $j-3;
$slen = $slen-3;
}
$j = $j + 3;
}

if (substr($c, strlen($c)-3, 3) == '零') {
$c = substr($c, 0, strlen($c)-3);
}
if (empty($c)) {
return "零元整";
}else{
return $c . "整";
}
}

相关文章

PHP基于面向对象实现的留言本功能实例

PHP基于面向对象实现的留言本功能实例

本文实例讲述了PHP基于面向对象实现的留言本功能。分享给大家供大家参考,具体如下: 要设计一留言本,一切都将以留言本为核心,抓到什么是什么,按流程走下来,即按用户填写信息->留言-...

Admin generator, filters and I18n

Three easy steps 1) configure function Add an input for each field you want to include in you...

PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】

PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】

本文实例讲述了PHP+Ajax实现的无刷新分页功能。分享给大家供大家参考,具体如下: 注:本文中使用到的一些类库在前面文章都能找到源代码,我会在文中指明链接所在,为了缩短文章篇幅,由此带...

php自动给网址加上链接的方法

本文实例讲述了php自动给网址加上链接的方法。分享给大家供大家参考。具体实现方法如下: 这里自动匹配页面里的网址,包含http,ftp等,自动给网址加上链接 function tex...

php网站被挂木马后的修复方法总结

本文实例总结了php网站被挂木马后的修复方法。分享给大家供大家参考。具体方法如下: 在linux中我们可以使用命令来搜查木马文件,到代码安装目录执行下面命令 复制代码 代码如下:find...