直接上实例,写到 千亿上了。

/**

* @author ja颂

* 把数字1-1亿换成汉字表述,如:123->一百二十三

* @param [num] $num [数字]

* @return [string] [string]

*/

function numToWord($num)

{

$chiNum = array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九');

$chiUni = array('','十', '百', '千', '万', '亿', '十', '百', '千');

$chiStr = '';

$num_str = (string)$num;

$count = strlen($num_str);

$last_flag = true; //上一个 是否为0

$zero_flag = true; //是否第一个

$temp_num = null; //临时数字

$chiStr = '';//拼接结果

if ($count == 2) {//两位数

$temp_num = $num_str[0];

$chiStr = $temp_num == 1 ? $chiUni[1] : $chiNum[$temp_num].$chiUni[1];

$temp_num = $num_str[1];

$chiStr .= $temp_num == 0 ? '' : $chiNum[$temp_num];

}else if($count > 2){

$index = 0;

for ($i=$count-1; $i >= 0 ; $i--) {

$temp_num = $num_str[$i];

if ($temp_num == 0) {

if (!$zero_flag && !$last_flag ) {

$chiStr = $chiNum[$temp_num]. $chiStr;

$last_flag = true;

}

}else{

$chiStr = $chiNum[$temp_num].$chiUni[$index%9] .$chiStr;

$zero_flag = false;

$last_flag = false;

}

$index ++;

}

}else{

$chiStr = $chiNum[$num_str[0]];

}

return $chiStr;

}

$num = 150;

echo numToWord($num);

方法二:

/**

* 数字转换为中文

* @param  string|integer|float  $num  目标数字

* @param  integer $mode 模式[true:金额(默认),false:普通数字表示]

* @param  boolean $sim 使用小写(默认)

* @return string

*/

function number2chinese($num,$mode = true,$sim = true){

if(!is_numeric($num)) return '含有非数字非小数点字符!';

$char    = $sim ? array('零','一','二','三','四','五','六','七','八','九')

: array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖');

$unit    = $sim ? array('','十','百','千','','万','亿','兆')

: array('','拾','佰','仟','','萬','億','兆');

$retval  = $mode ? '元':'点';

//小数部分

if(strpos($num, '.')){

list($num,$dec) = explode('.', $num);

$dec = strval(round($dec,2));

if($mode){

$retval .= "{$char[$dec['0']]}角{$char[$dec['1']]}分";

}else{

for($i = 0,$c = strlen($dec);$i < $c;$i++) {

$retval .= $char[$dec[$i]];

}

}

}

//整数部分

$str = $mode ? strrev(intval($num)) : strrev($num);

for($i = 0,$c = strlen($str);$i < $c;$i++) {

$out[$i] = $char[$str[$i]];

if($mode){

$out[$i] .= $str[$i] != '0'? $unit[$i%4] : '';

if($i>1 and $str[$i]+$str[$i-1] == 0){

$out[$i] = '';

}

if($i%4 == 0){

$out[$i] .= $unit[4+floor($i/4)];

}

}

}

$retval = join('',array_reverse($out)) . $retval;

return $retval;

}

//实例调用=====================================================

$num = '0123648867.789';

echo $num,'
';

//普通数字的汉字表示

echo '普通:',number2chinese($num,false),'';

echo '
';

//金额汉字表示

echo '金额(简体):',number2chinese($num,true),'';

echo '
';

echo '金额(繁体):',number2chinese($num,true,false);

以上所述就是本文的全部内容了,希望大家能够喜欢。

php将数字转换为汉字_php 把数字转换成汉字的代码相关推荐

  1. 将unicode转换成汉字

    将unicode转换成汉字的引申 unicode转换成汉字方法: public static String UnicodeToString(String str) { Pattern pattern ...

  2. java数字金额转换成汉字大写

    java数字转换成汉字大写.数字转发票上的人民币大写 1.调用方法 NumToCN.number2CNMontrayUnit(zjJE): 2.转换类 import java.math.BigDeci ...

  3. php大写数字转换,PHP将阿拉伯数字转换成汉字大写支持小数点

    PHP将带有小数点的一串阿拉伯数字转换成汉字大写形式,就像转换人民币大写类似.加入了小数点的处理,只要是一连串的数字,不管是否带有小数点,通过本函数都能完美转换. PHP将阿拉伯数字转换成汉字大写支持 ...

  4. win7计算机名改成大写,图文解读win7系统excel数字小写金额转换成汉字大写金额的措施...

    有很多网友在使用电脑的过程总难免会遇到win7系统excel数字小写金额转换成汉字大写金额的情况.针对win7系统excel数字小写金额转换成汉字大写金额的问题,我给大家整理总结了详细的解决步骤.近日 ...

  5. win7计算机名改成大写,Win7系统下excel数字小写金额怎么转换成汉字大写金额

    很多 第一种:设置单元格格式 在单元格中输入想要变成大写的数字之后,按Ctrl+1调出单元格格式设置对话框,在分类选择特殊类型为中文大写数字,最后再单击确定按钮即可看到自己原本的小写数字变成大写了: ...

  6. html 将数字转为汉字,怎么将wps中的数字转换成汉字 wps将数字转换汉字的步骤教程...

    在WPS编辑表格数据时,如果我们想要将表格中的数字全部转换成汉字,该如何转换?方法其实很简单,不过还有很多用户不太清楚转换方法,下面教程之家网为大家分享wps将数字转换汉字的步骤教程,不会转换的朋友可 ...

  7. 《读九章算术学Python》如何用Python编程实现阿拉伯数字转换成汉字数字?

    第6章 数量转换 Python编程基础 字典 字符串操作 if-elif-else语句 递归 前面的输入和输出都是阿拉伯数字,这一章我们来看一下如何实现阿拉伯数字和汉字数字之间的相互转换. 6.1 阿 ...

  8. java实现数字金额转换成汉字大写金额

    我们经常在做项目的财务报表,需要打印发票等情况时需要用到小写的财务金额要转换成汉字的大写金额,下面就是实现该功能的代码 import java.lang.Math; /** *通用型金钱转换类 * * ...

  9. 把一个用阿拉伯数字表示的正整数转换成汉字大写表示

    一个面试题,考查面试者的逻辑思维能力,考虑的问题很多,把一个用阿拉伯数字表示的正整数转换成汉字大写表示 这里代码没有考虑非法输入,但如果是面试.最好跟面试官交流清楚,展现你考虑问题全面,写出的代码鲁棒 ...

  10. 将字符串转换为整数,比如12345转换成12345

    C语言实现将字符串转换为整数,比如"12345"转换成12345 #include <stdio.h> //头文件 int string_to_int(char *p) ...

最新文章

  1. 【Matlab 控制】绘制盖尔圆
  2. python多线程实现同步的方式_深入解析Python中的线程同步方法
  3. php地图,地图php接口
  4. unity 加载完场景继续加载场景中的物体_Unity光照渲染原理
  5. 1.阿里云短信验证操作步骤
  6. c语言编译器环境,C语言教程:C环境设置
  7. XGen 苹果IOS神器一键新机改串清理超级全息备份支持IOS789超IGV8使用分享(企鹅290093670)
  8. 组策略设置计算机计划任务,使用组策略配置域中任务计划
  9. matlab官网上的命令,MatLab 2018a 官方教程
  10. oracle 常用调优方法
  11. 超细节!数据分析社招面试指南
  12. Spring Security Oauth2 JWT
  13. Python学习笔记:第十四站 百宝箱
  14. 天才少女谷爱凌夺金!母亲毕业于北大,父亲毕业于哈佛,她将入读斯坦福…...
  15. 【图解版】深入web请求过程
  16. 抖音测试小程序功能开发
  17. 框架的概念框架(Framework)
  18. 移动UPS电源使用(不间断电源)
  19. 论计算机叫兽们与林纳斯·托瓦兹
  20. python中的pygame弹球游戏代码_python pygame实现挡板弹球游戏

热门文章

  1. 2.6实训任务 Xshell、XFTP下载安装
  2. linux系统目录无法写入文件权限,Linux目录权限读写但不能删除
  3. 办公电脑远程 关于电脑远程办公的方法分享
  4. python全局变量操作详解_Python全局变量是什么?Python全局变量怎么使用?
  5. Android 自定义LineLayout实现满屏任意拖动
  6. 中大计算机专业最年轻的正教授,32岁中科大少年班毕业生成哈佛史上最年轻正教授...
  7. 不带任何故事的活 | 拜伦·凯蒂
  8. 【原创】散谈游戏保护那点事~就从_TP开始入手吧
  9. base北京,智慧校园领域,招聘 运维工程师岗位
  10. php5.4开启curl扩展,php5.2.14无法开启curl扩展解决教程