系统里有牵扯到财务、合同等方面的处理时,常常需要把数字金额转成汉字大写金额(貌似这样正规),转一个转换的php class吧!
<?php
// 诸海加(ALPHA .z)
// 2000-7-19

class ChineseNumber
{
//var $basical=array(0=>"零","一","二","三","四","五","六","七","八","九");
var $basical=array(0=>"零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
//var $advanced=array(1=>"十","百","千");
var $advanced=array(1=>"拾","佰","仟");
var $top=array(1=>"万","亿");

var $level;            // 以4位为一级

// 先实现万一下的数的转换
function ParseNumber($number)
{
if ($number>999999999999)        // 只能处理到千亿。
return "数字太大,无法处理。抱歉!";
if ($number==0)
return "零";

for($this->level=0;$number>0.0001;$this->level++,$number=floor($number / 10000))
{
// 对于中文来说,应该是4位为一组。
// 四个变量分别对应 个、十、百、千 位。
$n1=substr($number,-1,1);
if($number>9)
$n2=substr($number,-2,1);
else
$n2=0;
if($number>99)
$n3=substr($number,-3,1);
else
$n3=0;
if($number>999)
$n4=substr($number,-4,1);
else
$n4=0;

if($n4)
$parsed[$this->level].=$this->basical[$n4].$this->advanced[3];
else
if(($number/10000)>=1)        // 千位为0,数值大于9999的情况
$parsed[$this->level].="零";
if($n3)
$parsed[$this->level].=$this->basical[$n3].$this->advanced[2];
else
if(!ereg(" 零$",$parsed[$this->level]) && ($number / 1000)>=1)    // 不出现连续两个“零”的情况
$parsed[$this->level].="零";
if($n2)
$parsed[$this->level].=$this->basical[$n2].$this->advanced[1];
else
if(!ereg(" 零$",$parsed[$this->level]) && ($number / 100)>=1)    // 不出现连续两个“零”的情况
$parsed[$this->level].="零";
if($n1)
$parsed[$this->level].=$this->basical[$n1];
}
for($this->level-=1;$this->level>=0;$this->level--)
{
$result.=$parsed[$this->level].$this->top[$this->level];
}

if(ereg("零$",$result))
$result=substr($result,0,strlen($result)-2);

return $result;

}
};

$c=new ChineseNumber();
echo $c->ParseNumber(6352);

?>

转一个财务方面常用到的数字金额转成汉字大写金额 php类的更多相关文章

  1. PHP 数字金额转换成中文大写金额的函数 数字转中文

    /** *数字金额转换成中文大写金额的函数 *String Int $num 要转换的小写数字或小写字符串 *return 大写字母 *小数位为两位 **/ function num_to_rmb($ ...

  2. C#中将数字金额转成英文大写金额的函数

    <span style="white-space:pre"> </span>/// <summary> /// 数字转金额大写 /// 调用示例 ...

  3. PHP算法--将数字金额转换成大写金额

    最近在看一些PHP算法题,遇到一个将数字金额转换成大写金额的小算法题,这里贴出自己的一个例子. 注:这个小算法适用于10万以内的金额. <?php //$num = 12345.67; func ...

  4. C#小写数字金额转换成大写人民币金额的算法

    C#小写数字金额转换成大写人民币金额的算法 第一种方法: using System.Text.RegularExpressions;//首先引入命名空间 private string DaXie(st ...

  5. JavaScript将输入的数字金额转换成对应的中文大写金额

    // 将输入的数字金额转换成对应的中文大写金额 // idNumber输入的数字金额,idCHN输出的中文大写金额 function TransformNumberIntoCHN(idNumber, ...

  6. JS把数字金额转换成中文大写数字的函数

    //把数字金额转换成中文大写数字的函数 function num2rmb ($num){ $c1="零壹贰叁肆伍陆柒捌玖"; $c2="分角元拾佰仟万拾佰仟亿" ...

  7. c#将输入的人民币数字金额转换成小写

    //// <summary> /// 人民币大小写金额转换 /// </summary> class RMBCapitalization { private const str ...

  8. JS数字金额转换为货币汉字形式

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  9. irport报表,把数字金额转换成大写人民币金额

    1.编写oracle函数 CREATE OR REPLACE Function MoneyToChinese(Money In Number) Return Varchar2 Is strYuan ) ...

随机推荐

  1. Linux常见问题及解决方案

    问题一: 删除Linux 的烦恼(没出现系统选择菜单只出现"grub": 问题描述: 安装了Linux.WinXP双系统,采用Grub引导系统.在XP下通过格式化磁盘(非法操作)删 ...

  2. 线上应用故障排查:高CPU占用

    转自:hankchen,http://www.blogjava.net/hankchen 一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环. 以我们最近出现的一个实际故障 ...

  3. Python代码规范利器Flake8

    写代码其实是需要规范的,团队中更是如此:不然 Google 也不会发布各种编码规范,耳熟能详的有Google C++ 风格指南,Google Python 风格指南,等等. 这些规范有用吗?有用也没用 ...

  4. [Training Video - 4] [Groovy] Optional parameter in groovy

    Employee.log=log Employee e1 = new Employee() log.info e1.add(1,2,3,4) // optional parameters in gro ...

  5. springdata -----操作ES

    一:配置springdata-Es elasticseach-JPA.xml <?xml version="1.0" encoding="UTF-8"?& ...

  6. cenots7单机安装Kubernetes

    关于什么是Kubernetes请看另一篇内容:http://www.cnblogs.com/boshen-hzb/p/6482734.html 一.环境搭建 master安装的组件有: docker ...

  7. 【转载】mysql常用函数汇总

    转载地址:http://www.jb51.net/article/40179.htm 一.数学函数ABS(x)   返回x的绝对值BIN(x)   返回x的二进制(OCT返回八进制,HEX返回十六进制 ...

  8. linux 命令学习-网络相关配置

    网络配置相关 网卡配置文件:etc/sysconfig/network-scripts/ifcfg-eth0 DNS 配置文件 etc/resolv.conf 主机配置文件 etc/sysconfig ...

  9. python读写操作csv及excle文件

    1.python读写csv文件 import csv #读取csv文件内容方法1 csv_file = csv.reader(open('testdata.csv','r')) next(csv_fi ...

  10. Android-AndroidStudio Run 'app'安装APK到设备的过程

    1.AndroidStudio 点击Run ‘app’. 2.点击Run ‘app’就会将所有.class文件用SDK工具集处理成.dex, 用SDK工具集将图片/资源/布局文件/AndroidMan ...