用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之第六天
Oct 09 PHP
解析yahoo邮件用phpmailer发送的实例
Jun 24 PHP
PHP中使用TCPDF生成PDF文档实例
Jul 01 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
Apr 15 PHP
PHP sleep()函数, usleep()函数
Aug 25 PHP
PHP读MYSQL中文乱码的快速解决方法
Oct 01 PHP
PHP云打印类完整示例
Oct 15 PHP
PHP查询大量数据内存耗尽问题的解决方法
Oct 28 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
Aug 10 PHP
PHP实现合并两个排序链表的方法
Jan 19 PHP
Laravel用户授权系统的使用方法示例
Sep 16 PHP
YII框架页面缓存操作示例
Apr 29 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
php str_pad 函数使用详解
2009/01/13 PHP
php带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
Yii的Srbac插件用法详解
2016/07/14 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
Knockout text绑定DOM的使用方法
2013/11/15 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
javascript事件冒泡简单示例
2016/06/20 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
vue+node+webpack环境搭建教程
2017/11/05 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
python实现的二叉树算法和kmp算法实例
2014/04/25 Python
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
Python的时间模块datetime详解
2017/04/17 Python
Golang与python线程详解及简单实例
2017/04/27 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
python实现集中式的病毒扫描功能详解
2019/07/09 Python
pytorch多进程加速及代码优化方法
2019/08/19 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
pytorch之添加BN的实现
2020/01/06 Python
Python timeit模块的使用实践
2020/01/13 Python
基于Python制作一副扑克牌过程详解
2020/10/19 Python
python 实现socket服务端并发的四种方式
2020/12/14 Python
亚洲在线旅行门户网站:Expedia.com.hk(智游网)
2020/04/14 全球购物
关于人生的感言
2014/01/17 职场文书
群众路线教育实践活动批评与自我批评
2014/09/15 职场文书
清洁工个人总结
2015/03/04 职场文书
2015年小学教科研工作总结
2015/07/20 职场文书
高一军训感想
2015/08/07 职场文书
CSS3常见动画的实现方式
2021/04/14 HTML / CSS
深入理解Vue的数据响应式
2021/05/15 Vue.js
SpringBoot整合Mybatis Generator自动生成代码
2021/08/23 Java/Android
使用Django框架创建项目
2022/06/10 Python