PHP实现金额数字转换成大写函数
<?php
header("Content-Type:text/html;charset=utf-8"); function num_to_upper($num)
{
$d = array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖');
$e = array('元','拾','佰','仟','万','拾万','佰万','仟万','亿','拾亿','佰亿','仟亿','万亿');
$p = array('分','角');
$zheng='整'; //追加"整"字
$final = array(); //结果
$inwan=0; //是否有万
$inyi=0; //是否有亿
$len_pointdigit=0; //小数点后长度
$y=0;
if($c = strpos($num, '.')) { //有小数点,$c为小数点前有几位数
$len_pointdigit = strlen($num)-strpos($num, '.')-1; // 判断小数点后有几位数
if($c>13) { //简单的错误处理
echo "数额太大,已经超出万亿.";
die();
} elseif($len_pointdigit>2) { //$len_pointdigit小数点后有几位
echo "小数点后只支持2位.";
die();
}
} else { //无小数点
$c = strlen($num);
$zheng = '整';
}
for($i=0;$i<$c;$i++) { //处理整数部分
$bit_num = substr($num, $i, 1); //逐字读取 左->右
if($bit_num!=0 || substr($num, $i+1, 1)!=0) //当前是零 下一位还是零的话 就不显示
@$low2chinses = $low2chinses.$d[$bit_num];
if($bit_num || $i==$c-1)
@$low2chinses = $low2chinses.$e[$c-$i-1];
}
for($j=$len_pointdigit; $j>=1; $j--) { //处理小数部分
$point_num = substr($num, strlen($num)-$j, 1); //逐字读取 左->右
if($point_num != 0)
@$low2chinses = $low2chinses.$d[$point_num].$p[$j-1];
// if(substr($num, strlen($num)-2, 1)==0 && substr($num, strlen($num)-1, 1)==0) //小数点后两位都是0
}
$chinses = str_split($low2chinses,2); //字符串转换成数组
//print_r($chinses);
for($x=sizeof($chinses)-1;$x>=0;$x--) { //过滤无效的信息
if($inwan==0&&$chinses[$x]==$e[4]) { //过滤重复的"万"
$final[$y++] = $chinses[$x];
$inwan=1;
}
if($inyi==0&&$chinses[$x]==$e[8]) { //过滤重复的"亿"
$final[$y++] = $chinses[$x];
$inyi=1;
$inwan=0;
}
if($chinses[$x]!=$e[4]&&$chinses[$x]!=$e[8]) //进行整理,将最后的值赋予$final数组
$final[$y++] = $chinses[$x];
}
$newstring=(array_reverse($final)); //$final为倒数组,$newstring为正常可以使用的数组
$nstring=join($newstring); //数组变成字符串
if(substr($num,-2,1)==0 && substr($num,-1)<>0) { //判断原金额角位为0 ? 分位不为0 ?
$nstring=substr($nstring,0,(strlen($nstring)-4))."零".substr($nstring,-4,4); //这样加一个零字
}
$fen="分";
$fj=substr_count($nstring, $fen); //如果没有查到分这个字
return $nstring=($fj==0)?$nstring.$zheng:$nstring; //就将"整"加到后面
} echo num_to_upper(1234.56); ?>
aaarticlea/png;base64,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" alt="" />
PHP实现金额数字转换成大写函数的更多相关文章
- 【PHP】金额数字转换成大写形式
<?php /*将数字金额转成大写*/ function num_to_upper($num) { $d = array('零','壹','贰','叁','肆','伍','陆','柒','捌', ...
- C# 数字转换成大写
/// <summary> /// 数字转大写 /// </summary> /// <param name="Num">数字</para ...
- js将数字转换成大写的人民币表达式
function changeNumMoneyToChinese(money) { var cnNums = new Array("零", "壹", " ...
- C#小写数字金额转换成大写人民币金额的算法
C#小写数字金额转换成大写人民币金额的算法 第一种方法: using System.Text.RegularExpressions;//首先引入命名空间 private string DaXie(st ...
- SQL函数:小写金额转换成大写
/********************************************************作者:版本:1.0创建时间:20020227修改时间:功能:小写金额转换成大写参数:n ...
- javascript 将数字(金额)转成大写
将计算好的金额转换成大写,这些功能非常多,下面我改进了一下代码(原文在这里:http://www.cnblogs.com/zsanhong/p/3509464.html). /** * _SetNum ...
- 算法--java实现将数字转换成人民币大写(迅雷面试题)
今天去迅雷面试,是个数字转换成人民币的算法题: public class Rmb { /** * 人民币的基本信息和操作 * * @author soyoungboy * @version 1.0 * ...
- js 将数字转换成人民币大写的方法
//将数字转换成人民币大写的方法 var digitUppercase = function (n) { var fraction = ['角', '分']; var digit = [ '零', ' ...
- C# 数字转换成汉字大写 数值转换成汉字大写
1.数字转换成汉字大写 public string NumToChinese(string x) { //数字转换为中文后的数组 //转载请注明来自 http://www.shang11.com st ...
随机推荐
- Correlation and Regression
Correlation and Regression Sample Covariance The covariance between two random variables is a statis ...
- bash脚本输入密码不回显问题的解决方法
编写一个bash脚本时,需要用户输入一个密码,方可继续后续流程,但是又要保证用户输入的密码不会被别人看到,因此排除了通过参数将密码传入脚本的方案 不绕圈子,揭晓答案:设置终端状态为“字符不回显”(如果 ...
- linux批量备份服务器配置文件和目录的脚本
这篇文章主要介绍了linux下批量备份服务器配置文件和目录的方法,需要的朋友可以参考下 功能:1. 只在备份机执行,远程的服务器只需要允许备份机用root通过密钥登录:2. 在备份机上配置需要备份哪些 ...
- [tools]python的mkdocs模块分分钟将md搞成一个网站
docusaurus: facebook出的一个文档生成器,用起来感觉没那么友善 hugo: 这个很棒 python的mkdocs模块: 用起来最简单 python的这个模块可以分分钟将一坨md假设成 ...
- HTML的级联Select
系统开发中,经常遇到级联Select的状况,而级联的Select Option数据一般记录于DB,如果每次都重新写一套级联Select,工作将是繁琐滴... 一般来说,写一套级联的Select的几个步 ...
- 安卓开发之Toolbar
根据官网的教程,发现实现与预期不一致,查看相关资料自己整理了一下(官网开发文档:https://developer.android.com/training/appbar/setting-up.htm ...
- js怎么让时间函数的秒数在页面上显示是变化的
<input type="text" id="showtime" value="" /><script type=&quo ...
- php下载图片到本地
写了一天,就写了这么点代码,凑合用吧. #saveImage.php<?php /** * 图片下载方法,提供两种图片保存方式: * 1.按照图片自带的名称保存 * 2.按照自定义文件名保存 * ...
- jacky自问自答-java并发编程
1.java Web中线程不是由tomcat这类web容器负责的吗?为什么还要我控制多线程? 答:这个问题很多初学者都会有的疑惑,举一个我以前做的一个需求,java作为中间平台,是socket服务端, ...
- Error reading field 'throttle_time_ms': java.nio.BufferUnderflowException
可能出现的问题: ERROR o.a.k.c.p.i.Sender – Uncaught error in kafka producer I/O thread: org.apache.kafka.co ...