//用途: 金额小写转大写

//范围: 万亿>= (-,-) >=分

//作者: 283879541

/*

example:

$test = new digit2chinese;

$test->num = '5009999999.12';

$test->chuli();

$test->huey_print();

*/

class digit2chinese

{

var $num; //金额小写

private $d = array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖');

private $e = array('圆','拾','佰','仟','万','拾万','百万','千万','亿','拾亿','佰亿','仟亿','万亿');

private $p = array('分','角');

private $zheng=''; //追加"整"字

private $final = array(); //结果

public function chuli()

{

$inwan=0; //是否有万

$inyi=0; //是否有亿

$len_pointdigit=0; //小数点后长度

$y=0;

if($c = strpos($this->num, '.'))

{ //有小数点

$len_pointdigit = strlen($this->num)-strpos($this->num, '.')-1;

if($c>13) //简单的错误处理

{

echo "数额太大,已经超出万亿.";

die();

}

elseif($len_pointdigit>2)

{

echo "小数点后只支持2位.";

die();

}

}

else //无小数点

{

$c = strlen($this->num);

$this->zheng = '整';

}

for($i=0;$i

{

$bit_num = substr($this->num, $i, 1); //逐字读取 左->右

if($bit_num!=0 || substr($this->num, $i+1, 1)!=0) //当前是零 下一位还是零的话 就不显示

@$low2chinses = $low2chinses.$this->d[$bit_num];

if($bit_num || $i==$c-1)

@$low2chinses = $low2chinses.$this->e[$c-$i-1];

}

for($j=$len_pointdigit; $j>=1; $j--) //处理小数部分

{

$this->point_num = substr($this->num, strlen($this->num)-$j, 1); //逐字读取 左->右

if($this->point_num != 0)

@$low2chinses = $low2chinses.$this->d[$this->point_num].$this->p[$j-1];

if(substr($this->num, strlen($this->num)-2, 1)==0 && substr($this->num, strlen($this->num)-1, 1)==0)

$this->zheng = '整';

}

$chinses = str_split($low2chinses,2); //字符串转换成数组

for($x=sizeof($chinses)-1;$x>=0;$x--) //过滤无效的信息

{

if($inwan==0&&$chinses[$x]==$this->e[4]) //过滤重复的"万"

{

$this->final[$y++] = $chinses[$x];

$inwan=1;

}

if($inyi==0&&$chinses[$x]==$this->e[8]) //过滤重复的"亿"

{

$this->final[$y++] = $chinses[$x];

$inyi=1;

$inwan=0;

}

if($chinses[$x]!=$this->e[4]&&$chinses[$x]!=$this->e[8])

$this->final[$y++] = $chinses[$x];

}

}

public function huey_print()

{

for($y=sizeof($this->final)-1; $y>=0; $y--) //打印出结果

{

echo $this->final[$y];

}

echo $this->zheng;

}

}

/*$test = new digit2chinese;

$test->num = '3300';

$test->chuli();

$test->huey_print();*/

?>

小写数字转大写金额php,php 金额小写数字转大写汉字相关推荐

  1. 让用户输入一个数字(0-9),然后输出对应的大写汉字。

    #include <iostream> #include <Windows.h> #include <string>using namespace std;int ...

  2. js和ts两种 将 小写金额转中文大写汉字,阿拉伯数字金额格式化成中文大写汉字,数字金额转换成财务发票大写中文

    通过 npm i money2cn 安装  支持typescript 使用: import  money2cn  from 'money2cn' const nums = money2cn(23423 ...

  3. js判断输入数字是否是整数,金额、数字

    function isIntNum(strNum){//js判断输入数字是否是整数 仅供学习思想var strCheckNum = strNum+"";if(strCheckNum ...

  4. 在Excel中将人民币金额小写转成大写(转)

    在Excel中将人民币金额小写转成大写(转)[@more@] Excel中要将人民币小写金额转换成大写格式,将自定义格式类型中的"G/通用格式"改为"G/通用格式&quo ...

  5. Excel中将人民币金额小写转成大写(转)

    Excel中将人民币金额小写转成大写(转) Excel中要将人民币小写金额转换成大写格式,将自定义格式类型中的"G/通用格式"改为"G/通用格式"元" ...

  6. Oracle实现金额小写转大写函数

    Oracle实现金额小写转大写函数 今天工作的时候遇到了,于是上网百度了一下,发现了有个大佬写了一个很牛的函数,在此记录下来. 原文:http://www.itpub.net/thread-24028 ...

  7. 【Excel】偷懒小技巧3:金额小写自动转换为大写

    1 背景 看造价文件,突然发现了这么个东东. 点击进去一看,果然是编辑好公式可以自动生成那种.发现了新东东,大喜过望,原来还可以这样. 仔细看了下公式,嵌套又嵌套,好像有点明白,又好像晕乎乎.还是自己 ...

  8. java人民币数字转大写汉字(小写转为大写).java

    对原有代码的优化,更简单易懂 java--人民币小写(金额)转为大写(金额转换)_CY_99的博客-CSDN博客_实数小写金额转大写pta 1,实现思路 因为汉语读法的特殊性把数字通过四位进行分割,因 ...

  9. jQuery金额小写转大写

    jQuery金额小写转大写 金额转换 金额转换 /*金额小写转大写*/ function smalltoBIG(n) {var fraction = ['角', '分'];var digit = [' ...

最新文章

  1. 理解GloVe模型(Global vectors for word representation)
  2. memcache及其telnet命令使用详解
  3. 演化计算简单实例(附代码)
  4. python是烂语言吗
  5. 获取当前绝对工作目录与被执行文件的绝对目录
  6. H5学习之旅-H5列表(8)
  7. 【Matplotlib】详解图像各个部分
  8. centos mysql 主从配置_centos7.4安装mysql8,并设置主从配置
  9. Linux/Centos源码安装python3任意版本
  10. Hyperledger下子项目
  11. box-sizing的属性值
  12. Simotion应用与组网之一安装篇
  13. android电视APP开机自启动,安卓电视、机顶盒如何开机自动启动看电视直播-今日头条...
  14. 树莓派制作遥控小车教程
  15. html5 运动轨迹绘画,冷知识|简单几步教你用跑步轨迹绘画,用跑画刷爆你的朋友圈!...
  16. Hello world,Hello 2015,Bye 2014
  17. 求不定积分的系列题型(一)
  18. ios 判断手机角度_IOS 判断iPhone刘海屏
  19. 用python代码(turtle库)绘制好看的效果图
  20. 小说中场景的功能_一般文章里的场景描写有什么作用啊详细一些的 最好在

热门文章

  1. java imageio_java-ImageIO.write()方法和png
  2. Scratch教学课程:不撞南墙不回头
  3. CodeForces-1062E LCA,DFN,RMQ
  4. mysql错误1273_mysql8 参考手册--错误代码1273-1294
  5. PYTHON h5py库包安装及读写
  6. jbox弹窗_Jquery多功能提示通知弹出对话框插件jBox中文文档
  7. python excel数据处理教程pdf_python对excel操作详解.pdf
  8. GEF活性检测试剂盒的主要用途和应用
  9. 嵌入式网络的基础知识 -- 数据包的组装、拆解、各头部格式
  10. 【Linux】监控实时网速 查看实时网速