numToRmb.php


<?php
header("content-type:text/html;charset=utf-8");
function numToRmb($num){
$rmbNum = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖'];
$rmbUnit = ['分','角','元','拾','佰','仟','万','拾','佰','仟','亿','拾','佰','仟','万','拾','佰','仟'];
//数字预处理
if($num == '' || $num == 0){
return '请输入一个大于0的金额,谢谢!';
}else {
$num = number_format($num, 2, '.', '')*100;
}
if (strlen(number_format($num, 0, '', ''))>18) {
return '输入的金额不得超过千万亿!';
}
//开始数字转换人民币大写
$out1 = 0;
$numRmb = '';
$unit = '';
$rmb = '';
for ($out1 = 0 ; $out1 < strlen(number_format($num, 0, '', '')) ; $out1++) {
$numRmb = $rmbNum[substr(number_format($num, 0, '', ''), $out1, 1)];
$unit = $rmbUnit[strlen(number_format($num, 0, '', ''))-$out1-1];
$rmb = $rmb.$numRmb.$unit;
}
// 将大写人民币中的零进行调整
$rmbStrlen = strlen($rmb);
for ($out2=0; $out2 < $rmbStrlen; $out2=$out2+3) {
$tempRmb = substr($rmb, $out2, 6);
if ($tempRmb=='零元'||$tempRmb=='零万'||$tempRmb=='零亿') {
$left = substr($rmb, 0, $out2);
$right = substr($rmb, $out2+3);
$rmb = $left.$right;
$out2 = $out2 - 3;
$rmbStrlen = $rmbStrlen - 3;
}elseif ($tempRmb=='零拾'||$tempRmb=='零佰'||$tempRmb=='零仟') {
$left = substr($rmb, 0, $out2+3);
$right = substr($rmb, $out2+6);
$rmb = $left.$right;
$out2 = $out2 - 3;
$rmbStrlen = $rmbStrlen - 3;
}elseif ($tempRmb=='零分'||$tempRmb=='零角') {
$left = substr($rmb, 0, $out2);
$right = substr($rmb, $out2+6);
$rmb = $left.$right;
$out2 = $out2 - 6;
$rmbStrlen = $rmbStrlen - 6;
}
if ($tempRmb=='零零') {
$left = substr($rmb, 0, $out2);
$right = substr($rmb, $out2+3);
$rmb = $left.$right;
$out2 = $out2 - 3;
$rmbStrlen = $rmbStrlen - 3;
}
if(substr($rmb,strlen($rmb)-3)=='元') {
$rmb = $rmb.'整';
}
}
return $rmb;
}
echo numToRmb($_POST['num']);
?>

php数字转人民币金额大写的更多相关文章

  1. java实现人民币金额大写

    在与财务相关的应用中,经常会用到人民币金额的大写,比如发票的打印程序. 本题的任务是:从键盘输入一个十亿以内的正整数(int类型),把它转换为人民币金额大写(不考虑用户输入错误的情况). 比如,用户输 ...

  2. ORACLE数字转换人民币大写

    ORACLE 数字转换人民币大写     示例.   数字                    :183066999230.68 人民币大写        :壹仟捌佰参拾亿陆仟陆佰玖拾玖万玖仟贰佰参 ...

  3. 数字转人民币大写(SQL SERVER)

    --数字转人民币大写NumToRMB ---新建方法create  FUNCTION dbo.NumToRMB (@num numeric(14,5))   RETURNS varchar(100) ...

  4. C#人民币金额大写转换

    人民币金额大小写转换,三行代码 //完善了一下查询到的方法,支持小数,保留2位小数 public string NumGetStr(double Num) { string[] DX_SZ = { & ...

  5. sql 数字转人民币大写函数(两种方法)

    ,)) returns @rmb table( 亿 ) ,仟万 ) ,佰万 ) ,拾万 ) ,万 ) ,仟 ) ,佰 ) ,拾 ) ,元 ) ,角 ) ,分 )) as begin insert in ...

  6. Python学习之--数字转人民币读法(解决问题的方法很重要)

    效果图: 实现代码: money = float(input("Please input the money:"))cop = int(money)Num = ['零','壹',' ...

  7. 数字转人民币读法-python3

    """ 2 把一个浮点数分解成证书备份和小数部分 3 """ 4 def divide(num): 5 intnum = int(num) ...

  8. 一个用php写的人民币数字转人民币大写的函数

      function num2rmb ($num) {     $c1 = "零壹贰叁肆伍陆柒捌玖";     $c2 = "分角元拾佰仟万拾佰仟亿";     ...

  9. JAVA将数字钱数转换为大写

    1.Java文件的编写 package com.cwai.xtag; import java.util.Scanner; public class Num2Rmb { private String[] ...

随机推荐

  1. HZOI20190816模拟23 mine/water/gcd

    A:mine 只是一个简单的dp....是博主太蒻了... 设f[i][j],表示到第i位,状态是j的方案数,其中$j\in[0,5]$ j==0表示填0,j==1表示填1,且i-1位是雷; j==2 ...

  2. TensorFlow实战Google深度学习框架-人工智能教程-自学人工智能的第二天-深度学习

    自学人工智能的第一天 "TensorFlow 是谷歌 2015 年开源的主流深度学习框架,目前已得到广泛应用.本书为 TensorFlow 入门参考书,旨在帮助读者以快速.有效的方式上手 T ...

  3. Chapter 6 排序

    Chapter 6 排序 1-   直接插入排序 O(n2) O(1) 2-   折半插入排序 O(n2) O(1) 适合关键字较多 3-   希尔排序O(nlogn) O(1) 又名,缩小增量排序 ...

  4. commons-httpclient和org.apache.httpcomponents的区别

    <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpc ...

  5. let和const的一些知识点

    let和const 不可以重复声明 不会发生变量提升,因此必须在声明之后使用,否则报错! 只在声明所在的块级作用域内有效 let 同一个作用域内不能重复声明同一个变量: function func() ...

  6. /etc/vimrc配置

    [root@guolicheng ~]# cat /etc/vimrc if v:lang =~ "utf8$" || v:lang =~ "UTF-8$" s ...

  7. 写一个网页进度loading

    作者:jack_lo www.jianshu.com/p/4c93f5bd9861 如有好文章投稿,请点击 → 这里了解详情 loading随处可见,比如一个app经常会有下拉刷新,上拉加载的功能,在 ...

  8. PL/SQl连接数据库ORA-12154错误

    先说说我遇到的问题: 1.在sql/plus下可以正确连接到数据库(oracle10g): 2.检查我机器(64)位环境变量的配置,没问题.path环境变量没问题(C:\oraclexe\app\or ...

  9. git放弃本地所有未提交的修改

    1.未添加至暂存区的 git checkout . 2.已添加至暂存区的 git reset HEAD . git checkout .

  10. jqGrid 属性、事件全集

    <html> ... <table id="list1"></table> <div id="pager1">& ...