php 把数字转化为大写中文—升级版
2024-09-05 15:43:52
继上篇之后,发现某同事悄悄改了新版本,于是被我偷偷保存起来了,功能一样,不过他的比较短小,emmm。放了快一年了,悄悄放到博客里面。
功能需求在另一篇博客里
<?php
function cny_upcase($num) {
if (!is_numeric($num)) {
return false;
} else {
$num = strval($num);
}
$unitDic = [1 => '圆',2 => '拾',3 => '佰',4 => '仟',5 => '萬',6 => '拾',7 => '佰',8 => '仟', 9 => '億'];
$decimalDic = [0 => '角',1 => '分',2 => '厘',3 => '毫'];
$digitDic = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖'];
$int = 0;
$decimal = 0;
if (strpos($num,'.') !== false) {
list($int,$decimal) = explode('.',$num,2);
} else {
$int = $num;
}
$upNum = '';
for ($i = 0; $i < strlen($int); $i++) {
$unitIndex = strlen($int) - $i;
$upNum .= $digitDic[$int[$i]];
$upNum .= $int[$i] ? $unitDic[$unitIndex] : '';
}
if ($decimal) {
for ($i = 0; $i < strlen($decimal); $i++) {
$upNum .= $digitDic[$decimal[$i]];
$upNum .= $decimal[$i] ? $decimalDic[$i] : '';
}
} else {
$upNum .= '整';
}
$upNum = preg_replace('/零+/iu','零',$upNum);
return preg_replace('/^零/iu','',$upNum);
}
最新文章
- linQ学习笔记之一
- 搭载在webstorm上的go语言开发插件安装
- 你真的了解UIViewController生命周期吗?
- nodeJS Express 删除 x-powered-by
- Python自动化之pickle和面向对象初级篇
- 简单几何(数学公式+凸包) UVA 11168 Airport
- 10个免费开源的JS音乐播放器插件
- Android开发手记(9) DatePickerDialog 和 TimePickerDialog
- 理解Java多态
- KMP算法与一个经典概率问题
- 201671010121 2016-2017-2《java程序设计》第一周学习总结
- 【算法】字典的诞生:有序数组 PK 无序链表
- XML Condition And
- Python中所有的关键字
- Python 基础知识----数据类型
- Confluence 6 数据导入和导出
- OpenGL笔记(三) GLSL语法与内建函数
- Python Pycharm连接Ubantu Python环境
- Sahi (3) —— 压力测试Load Test以CAS SSO登陆场景为例(103 Tutorial)
- 不用快捷键就能使用Eclipse的自动完成功能