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


Posted in PHP onJanuary 10, 2012
/** 
*数字金额转换成中文大写金额的函数 
*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中动态显示签名和ip原理
Mar 28 PHP
php设置session值和cookies的学习示例
Mar 21 PHP
php获取Google机器人访问足迹的方法
Apr 15 PHP
分享50个提高PHP执行效率的技巧
Dec 26 PHP
[原创]php简单防盗链验证实现方法
Jul 09 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
Jun 17 PHP
Laravel中日期时间处理包Carbon的简单使用
Sep 21 PHP
PHP设计模式之工厂模式详解
Oct 24 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
yii2安装详细流程
May 23 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
Jan 04 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
Jan 10 #PHP
php 字符串替换的方法
Jan 10 #PHP
PHP中strtotime函数使用方法分享
Jan 10 #PHP
比较详细PHP生成静态页面教程
Jan 10 #PHP
php中通过正则表达式下载内容中的远程图片的函数代码
Jan 10 #PHP
PHP三元运算符的结合性介绍
Jan 10 #PHP
如何用phpmyadmin设置mysql数据库用户的权限
Jan 09 #PHP
You might like
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
PHP实现QQ空间自动回复说说的方法
2015/12/02 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
PHP自动生成缩略图函数的源码示例
2019/03/18 PHP
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
JS对象与JSON格式数据相互转换
2012/02/20 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
2016/09/17 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
2017/03/09 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
关于Vue.nextTick()的正确使用方法浅析
2017/08/25 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
2019/11/01 jQuery
Nuxt页面级缓存的实现
2020/03/09 Javascript
解决vue页面刷新,数据丢失的问题
2020/11/24 Vue.js
python实现三次样条插值
2018/12/17 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
PIL包中Image模块的convert()函数的具体使用
2020/02/26 Python
python实现简单坦克大战
2020/03/27 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
python的数学算法函数及公式用法
2020/11/18 Python
Django框架实现在线考试系统的示例代码
2020/11/30 Python
加拿大健康、婴儿和美容产品在线购物:Well.ca
2016/11/30 全球购物
车辆维修工自我评价怎么写
2013/09/20 职场文书
医科学校毕业生自荐信
2013/11/09 职场文书
创业计划书如何吸引他人眼球
2014/01/10 职场文书
小学防溺水制度
2014/01/29 职场文书
民政局个人整改措施
2014/09/24 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
教师师德表现自我评价
2015/03/05 职场文书
实习介绍信范文
2015/05/05 职场文书
Python函数式编程中itertools模块详解
2021/09/15 Python