【PHP】小写金额转大写金额
/*** 将数值金额转换为中文大写金额* @param $amount float 金额(支持到分)* @param $type int 补整类型,0:到角补整;1:到元补整* @return mixed 中文大写金额*/ function convertAmountToCn($amount, $type = 1) {// 判断输出的金额是否为数字或数字字符串if(!is_numeric($amount)){return "要转换的金额只能为数字!";}// 金额为0,则直接输出"零元整"if($amount == 0) {return "人民币零元整";}// 金额不能为负数if($amount < 0) {return "要转换的金额不能为负数!";}// 金额不能超过万亿,即12位if(strlen($amount) > 12) {return "要转换的金额不能为万亿及更高金额!";}// 预定义中文转换的数组$digital = array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖');// 预定义单位转换的数组$position = array('仟', '佰', '拾', '亿', '仟', '佰', '拾', '万', '仟', '佰', '拾', '元');// 将金额的数值字符串拆分成数组$amountArr = explode('.', $amount);// 将整数位的数值字符串拆分成数组$integerArr = str_split($amountArr[0], 1);// 将整数部分替换成大写汉字$result = '人民币';$integerArrLength = count($integerArr); // 整数位数组的长度$positionLength = count($position); // 单位数组的长度for($i = 0; $i < $integerArrLength; $i++) {// 如果数值不为0,则正常转换if($integerArr[$i] != 0){$result = $result . $digital[$integerArr[$i]] . $position[$positionLength - $integerArrLength + $i];}else{// 如果数值为0, 且单位是亿,万,元这三个的时候,则直接显示单位if(($positionLength - $integerArrLength + $i + 1)%4 == 0){$result = $result . $position[$positionLength - $integerArrLength + $i];}}}// 如果小数位也要转换if($type == 0) {// 将小数位的数值字符串拆分成数组$decimalArr = str_split($amountArr[1], 1);// 将角替换成大写汉字. 如果为0,则不替换if($decimalArr[0] != 0){$result = $result . $digital[$decimalArr[0]] . '角';}// 将分替换成大写汉字. 如果为0,则不替换if($decimalArr[1] != 0){$result = $result . $digital[$decimalArr[1]] . '分';}}else{$result = $result . '整';}return $result;}
【PHP】小写金额转大写金额相关推荐
- 人民币小写金额转大写金额
#region 人民币小写金额转大写金额/// <summary>/// 小写金额转大写金额/// </summary>/// <param name="Mon ...
- 人民币 小写金额转换为大写金额
人民币 小写金额转换为大写金额 标签(空格分隔): 人民币 小写金额转换为大写金额 jsp: div class="form-group"> <label class= ...
- 小写金额转换为大写金额JS方法
/** *function: 小写金额转换为大写金额 *return: 转换后的大写金额,类型String */ function money2Cn(str){ var temp = parse ...
- #小写金额转大写金额
小写金额转大写金额 闲话不多说,直接上代码: function num_to_rmb($num){ $c1 = "零壹贰叁肆伍陆柒捌玖";$c2 = "分角元拾佰仟万拾佰 ...
- 将小写金额转换为大写金额
/* 运行环境:MS-SQL 2000 将小写金额转换为大写金额 整数部分最大值:9位数 小数部分最大值:2位 必须格式:整数.小数 状态:完成 Update date:2007-10-07 */ / ...
- C#实现小写金额转大写金额
最近项目上用到小写转大写金额,公司同事还准备写一段代码来实现,后来发现架构上有现成的. 其实在银行.进销存.CRM等系统中经常可能用到 这个跟大家分享一下: 小写金额转大写 /// <summa ...
- c语言如何实现人民币转换编程,C语言成序设计实现人民币小写金额与大写金额的转换.docx...
main() {double r,y; int x, m,n,j,i,k,flag=0; int str1[10]={"零","壹","贰" ...
- 无限位小写金额转换大写金额(修订版)
说明: 1.本程序用JavaScript语言编写.转换方法严格遵照中国人民银行规定的银行支票中关于金额数字中文大写填写规范的相关规定(见下面附文),规定中两可之处按简便方法处理. 2.输入小写金额原则 ...
- java小写金额转大写金额
1.引入hutool依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all& ...
最新文章
- FCN、Unet、Unet++:医学图像分割网络一览
- nova6的4g版能支持鸿蒙,鸿蒙公测新增6款手机,都是nova系列,包括一款4G手机
- python opencv-4.1.0 cv2.getTextSize()函数 (计算文本字符串的宽度和高度)
- websocket 和 ansible配合Tomcat实时日志给前端展示
- aix和linux脚本,AIX系统资源监控SHELL脚本
- linux性能分析常用的命令
- 笔试小结---非对称加密算法
- vue对象拼接_vue 俩个数组对象合并成一个
- Android Butterknife
- mysql like n_MySQL LIKE 子句
- 一文速览 | 对话生成预训练模型
- 使用Python监控SNMP Trap并获取OSPF邻居状态
- 去掉matlab图片空白边缘
- keil_lic.exe注册机使用
- 使用代码控制小米智能插座
- 省市县三级数据联动 -Java
- 虚拟机文件上传至dsm服务器,群晖还可以这样玩!VMM虚拟机无损尝鲜DSM7.0
- 数学与计算机学院女生节标语,北师最新最全女生节标语
- 在一起计时器_浅谈§1.4 实验:用打点计时器测速度
- 高级计量经济学及stata应用 学习笔记③ 长面板