php汉字组合算法,php数字转汉字的函数算法
php数字转汉字的函数
/*********************数字转汉字***********************/
function del0($num) //去掉数字段前面的0
{
return "".intval($num);
}
function n2c($x) //单个数字变汉字
{
$arr_n = array("零","一","二","三","四","五","六","七","八","九","十");
return $arr_n[$x];
}
function num_r($abcd) //读取数值(4位)
{
$arr= array();
$str = ""; //读取后的汉字数值
$flag = 0; //该位是否为零
$flag_end = 1; //是否以"零"结尾
$size_r = strlen($abcd);
for($i=0; $i
{
$arr[$i] = $abcd{$i};
}
$arrlen = count($arr);
for($j=0; $j
{
$ch = n2c($arr[$arrlen-1-$j]); //从后向前转汉字
//echo $ch;
//echo "
";
if($ch == "零" && $flag == 0){ //如果是第一个零
$flag = 1; //该位为零
$str = $ch.$str; //加入汉字数值字符串
continue;
}elseif($ch == "零"){ //如果不是第一个零了
continue;
}
$flag = 0; //该位不是零
switch($j) {
case 0: $str = $ch; $flag_end = 0; break; //第一位(末尾),没有以"零"结尾
case 1: $str = $ch."十".$str; break; //第二位
case 2: $str = $ch."百".$str; break; //第三位
case 3: $str = $ch."千".$str; break; //第四位
}
}
if($flag_end == 1) //如果以"零"结尾
{
mb_internal_encoding("UTF-8");
$str = mb_substr($str, 0, mb_strlen($str)-1); //把"零"去掉
}
if($arrlen == 2 && $arr[0] == 1){
$str = substr($str,2);
}
return $str;
}
function num2ch($num) //整体读取转换
{
$num_real = del0($num);//去掉前面的"0"
$numlen = strlen($num_real);
//echo "numlen=".$numlen."
";
if($numlen >= 9)//如果满九位,读取"亿"位
{
$y=substr($num_real, -9, 1);
//echo $y;
$wsbq = substr($num_real, -8, 4);
$gsbq = substr($num_real, -4);
$a = num_r(del0($gsbq));
$b = num_r(del0($wsbq))."万";
$c = num_r(del0($y))."亿";
}elseif($numlen <= 8 && $numlen >= 5) //如果大于等于"万"
{
$wsbq = substr($num_real, 0, $numlen-4);
$gsbq = substr($num_real, -4);
$a = num_r(del0($gsbq));
$b = num_r(del0($wsbq))."万";
$c="";
}elseif($numlen <= 4) //如果小于等于"千"
{
$gsbq = substr( $num_real, -$numlen);
$a = num_r(del0($gsbq));
$b="";
$c="";
}
$ch_num = $c.$b.$a;
return $ch_num;
}
/******************数字转汉字结束********************/
?
php汉字组合算法,php数字转汉字的函数算法相关推荐
- matlab光流lk,Matlab数字视频处理 光流LK算法
Matlab数字视频处理 光流LK算法 Matlab数字视频处理 光流LK算法 正在学习数字视频处理,老师给了一些资料 拿出来给大家分享! function [u, v] = LucasKanade( ...
- 请输入汉字、英文、数字或其组合/请输入6-18位字符,同时包含英文字母、数字、下划线,并且以英文字母开头/8-16位数字、字母、特殊字符组合
var Util = {} Util.Reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^0\.([0][1-9]$))|(^0\.[1-9][0-9]?)|(^0$ ...
- 图片验证码——在gVerify.js 的基础之上完善了一下,实现汉字,字母和数字组合的验证码
在gVerify.js 的基础之上完善了一下,实现汉字,字母和数字组合的验证码,效果图如下: <!DOCTYPE html> <html><head><met ...
- 正则表达式数字,字母,汉字组合 必须包含
1.数字,字母,汉字组合 a.不能仅为字母或数字 b.不能仅为一个汉字 c.长度不能超过15 $(function(){ var b="ss"; var pattern ...
- php数字转汉字,php数字转汉字算法代码
以前学习了汉字转拼音的方法,今天再来探讨下数字转为汉字的方法. 例子: 复制代码 代码示例: //将数字转换为汉字,比如1210转换为一千二百一十 $num = "842105580&quo ...
- 【语音识别】基于DTW算法实现0~9数字和汉字语音识别含Matlab源码
1 简介 在孤立词语音识别中,动态时间规整DTW算法是一种应用较为广泛的算法之一,有着较强的科学性,在立足于当前DTW语音识别算法应用的实际情况下,简略阐述了该课题的研究背景,并从预处理和特征参数提取 ...
- JS正则判断输入框是否仅仅含有汉字、字母和数字
代码如下: if($.trim($("#user_api_register_form").find("input[name='user_name']").val ...
- 基于Ubuntu系统,调用opencv在图片上显示数字和汉字
文章目录 一.汉字编码的介绍 1.汉字编码的发展过程 (1)汉字编码产生的原因 (2)常用的汉字编码 2.区位码 (1)产生原因 (2)概念简述 (3)区域分布情况 3.机内码 (1)基本概念 (2) ...
- .net 数字转汉字_TensorFlow 2.0 中文手写字识别(汉字OCR)
TensorFlow 2.0 中文手写字识别(汉字OCR) 在开始之前,必须要说明的是,本教程完全基于TensorFlow2.0 接口编写,请误与其他古老的教程混为一谈,本教程除了手把手教大家完成这个 ...
- java正则不能输入汉字_求一个正则表达式只输入字母或数字或汉字,要过滤特殊字符...
正则表达式:只能有数字或中文或字母组成 chenzhe_n16292018-09-06 一个正则表达式测试(只可输入中文.字母和数字) u0129242379192015-10-05 js正则表达式限 ...
最新文章
- visual studio 关闭编译优化
- java类如何enum_java – 如何模拟ENUM类中的方法?
- 刚入Linux坑常见的8大问题
- html oninput的作用,html范围滑块 - oninput在IE 11中不起作用
- IntelliJ IDEA for Mac中Maven菜单用法详解
- AngularJS获取项目中定义的json文件
- 探究Lucene计算权重的过程
- Linux -- 以root权限安装QT5.8.0
- VUE图片裁剪功能vue-img-cutter
- 单按钮启停电路实物图_手绘220V清洗机电路原理图和接线方法,单相电机常见故障排查...
- sqlserver 查找某个字符在字符串中第N次出现的位置
- 链表(python版)
- 缓冲电路/延时上电电路
- 指纹算法 c语言,指纹识别算法研究
- oracle数据库中文乱码解决办法
- 幻灯片JavaScript特效展示
- 卷积神经网络基础知识五(mobilenet)
- 如何解决scala读取本地文件失败
- scum服务器设置网站,SCUM服务器配置详解 参数设置推荐
- Ner-Ocr识别文本格式化问题
热门文章
- 户外演出系统服务器,演艺灯光系统
- mysql client 升级_解决consider upgrading MySQL client问题
- phpStorm 2017.3.1,WebStorm 2017.3.4 最新版本免费注册激活方法
- 轻云,云虚拟,ECS差别
- body签名json序列号乱序,null参数问题
- 精读《如何在 nodejs 使用环境变量》
- zabbix监控主动模式、被动模式、添加监控主机、添加自定义模板、处理图形乱码、自动发现...
- springMVC Model ModelMap 和 ModelAndView的区别
- mysql主主双机互备(三)
- adb 操作命令简介(一)