`

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<$size_r; $i++)
    {
        $arr[$i] = $abcd{$i};
    }
    $arrlen = count($arr);
    for($j=0; $j<$arrlen; $j++)
    {
        $ch = n2c($arr[$arrlen-1-$j]); //从后向前转汉字
  		//echo $ch;
  		//echo "<br>";
        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."<br>";
    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函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例

    PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例 PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例 curl获取远程文件内容 GD显示中文 PHP GIF动画生成类 PHP HTML转UBB函数 PHP ...

    php下实现一个阿拉伯数字转中文数字的函数

    最近因需要,写了个“阿拉伯数字转中文数字的函数”。搜索了精华区只见到一个类似的。感觉到我的算法不错,所以贴出来共享一下

    UTF8中文转拼音处理类

    PHP的UTF-8中文转拼音处理类,性能已经优化到极致,.优化了传统的拼音转换处理类的算法,专门针对UTF-8字符集进行处理,中文转换到拼音(每次处理一个字符)。如果你使用GBK或GB2312字符集,只需要去掉iconv函数,直接...

    相似度算法

    这个程序主要实现两个文本的相相似性,里面这个函数主要是提升str_split 函数对汉字处理弱的功能

    php获取汉字首字母的函数

    网上的方法有不少,都是一样的原理,按照需求...php /*** Modified by http://iulog.com @ 2013-05-07* 修复二分法查找方法* 汉字拼音首字母工具类* 注: 英文的字串:不变返回(包括数字) eg .abc123 =&gt; abc123* 中

    简洁大方干净!完整的php+mysql实现的登录和用户注册源码(含加密安全,解压即用)

    3、使用了php内置的字段加密函数password_hash(),单向哈希算法。且自动随机加盐(random salting),允许不同的用户注册时使用相同的密码。登录时使用password_verify()函数验证密码以及密码的哈希值。 4、用于创建...

    UTF8中文转拼音处理类.zip

    PHP的UTF-8中文转拼音处理类,性能已经优化到极致,.优化了传统的拼音转换处理类的算法,专门针对UTF-8字符集进行处理,中文转换到拼音(每次处理一个字符)。如果你使用GBK或GB2312字符集,只需要去掉iconv函数,直接...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例045 自定义数字的加密/解密算法 76 实例046 比较两个时间戳的大小 77 实例047 使用条件运算符判断数字的奇偶性 78 实例048 判断用户是否具有后台管理权限 79 实例049 打印随机组合生日祝福语 80 实例050 打印...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例045 自定义数字的加密/解密算法 76 实例046 比较两个时间戳的大小 77 实例047 使用条件运算符判断数字的奇偶性 78 实例048 判断用户是否具有后台管理权限 79 实例049 打印随机组合生日祝福语 80 实例050 打印...

    PHP中计算字符串相似度的函数代码

    在php计算字符串相似度similar_text与相似度levenshtein函数的详细介绍,下面我们详细的介绍一下关于字符串相似度介绍

    PHP开发实战1200例源码

    实例045 自定义数字的加密/解密算法 76 实例046 比较两个时间戳的大小 77 实例047 使用条件运算符判断数字的奇偶性 78 实例048 判断用户是否具有后台管理权限 79 实例049 打印随机组合生日祝福语 80 实例050 打印...

    BIWEB WMS PHP开源企业建站系统 v5.8.5.rar

    更新了底层数据库缓存的算法,由2个字符一层目录生成的缓存存放路径,循环8次就停止了。 2.更新了更新缓存文件函数updateCache,加入了更新数据库缓存的部分。 3.更新了删除数据函数deleteInfo,加入了删除数据后...

    php网络开发完全手册

    第8章 数组操作与数据结构算法 119 8.1 一维数组与多维数组 119 8.1.1 一维数组简介 119 8.1.2 多维数组简介 119 8.2 常用的数组操作 120 8.2.1 数组的创建与调用 120 8.2.2 数组的更新 121 8.2.3 数组元素的遍历 ...

    THINKPHP 中文分词处理类

    将军今天继续分享一款中文分词类库,无需其他扩展组件支持,这个类库基本能满足日常的分词,当然更精准的分词那你还是老老实实去研究分词算法和相关扩展吧。这个类库最重要一点,就是支持中文分词。 废话不多说,...

    开源_易语言中文分词_非网页调用

    ' 此文件算法根据织梦中文分词php版本的简化版本修改而来,如果用于商业请自行考虑版权问题 '关键字自动获取php源码 这个文件夹里面的就是原来的php文件,应该是老版本的织梦cms里面提取出来的....这是一个简化版本的...

    discuz加密解密函数使用方法和中文注释

    php/** * $string 明文或密文 * $operation 加密ENCODE或解密DECODE * $key 密钥 * $expiry 密钥有效期 */ function authcode($string, $operation = ‘DECODE’, $key = ”, $expiry = 0) { // 动态密匙长度...

    Delphi7+RSA密钥+MD5withRSA+签名

    Delphi使用OpenSSL,根据RSA密钥文件(....Delphi7可用,解决UTF8中文奇数bug,签名结果与java常用的MD5withRSA算法、PHP的openssl_sign($data, $encrypted, $private_key, OPENSSL_ALGO_MD5)函数算法得到的结果一致。

    2022年PHP面试题集锦.doc

    实现一个字符串截取函数需要考虑多字节编码的问题,因为中文字符占用多个字节。 3. 写一种遍历指定目录下所有子目录和子文件的函数,提醒:可以使用递归措施。 遍历目录是文件管理中的一种基本操作,用于遍历指定...

    javascript入门笔记

    Javascript Basic 1、Javascript 概述(了解) Javascript,简称为 JS,是一款能够运行在 JS解释器/引擎 中的脚本语言 ... 1、定义一个函数 change ,该函数中接收两个参数(a,b) 2、在函数体中,如果 a 大于 b的话...

    scws23-php

    PSCWS23 是由 hightman 于 2006 年开发的纯 PHP 代码实现的简易中文分词系统第二和第三版的简称。 PSCWS 是英文 PHP Simple Chinese Words Segmentation 的头字母缩写,它是 SCWS 项目的前身。 现 SCWS 已作为 ...

Global site tag (gtag.js) - Google Analytics