<?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. 【JS】数字转大写中文

    原文参考 逛到一道面试题,数字转大写中文的,搜索学习并记录于此. //自动转换数字金额为大小写中文字符,返回大小写中文字符串,最大处理到999兆 function changeMoneyToChine ...

  2. 将金额数字转换为大写汉字的js函数

    //将金额数字转换为大写汉字的函数 function convertCurrency(money) { //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁 ...

  3. PHP数字转大写

    最近在研究算法,发现了一个数字转大写的算法挺有意思,分享给大家看看: function get_amount($num){        $c1 = "零壹贰叁肆伍陆柒捌玖";   ...

  4. PHP金额工具类之将阿利伯数字转换为大写中文数字

    1.将阿拉伯数字转换为中文大写数字 <?php namespace core\components; class PriceHelper extends \yii\base\Component{ ...

  5. python 几种方法实现随机生成8位同时包含数字、大写字符、小写字符密码的小程序

    python 实现随机生成包8位包含大写字母.小写字母和数字的密码的程序.要求:1用户输入多少次就生成多少条密码,2要求密码必须同时包含大写字母.小写字母和数字,长度8位,不能重复代码如下: impo ...

  6. php 生成随机字符串,数字,大写字母,小写字母,特殊字符可以随意组合

    * 生成随机字符串* @param int       $length  要生成的随机字符串长度* @param string    $type    随机码类型:0,数字+大小写字母:1,数字:2, ...

  7. Delphi 实现数字转大写

    从网上找的一段代码 /// <summary> /// 小写转大写 /// </summary> /// <param name="mmje"> ...

  8. js将人民币数字转大写

    function numberToUpper(money) { var cnNums = new Array("零", "壹", "贰", ...

  9. java 金额数字转换大写算法

    根据人民币大写金额规范,转换有几点要注意的: 阿拉伯数字中间有"0"时,中文大写金额中间可以只写一个"零"字.如¥1,409.50,应写成人民币壹仟肆佰零玖圆伍 ...

随机推荐

  1. UML结构体系简介

    一.UML的结构 UML有3种基本的构造块,分别是事物(元素).关系和图.事物是UML中重要的组成部分.关系把事物紧密联系在一起.图是很多有相互相关的事物的组. 二.UML的事物 UML中的事物也称为 ...

  2. windows 下node版管理

    linux 下的node 多版本管理有nvm,windows 下同样有这样的工具gnvm 安装步骤(无node环境): 1.下载并解压缩 gnvm.exe 保存到任意文件夹,并将此文件夹加入到环境变量 ...

  3. plsql programming 10 日期和时间戳

    年 月 日 时 分 秒 时区 用小时表示的相对于 UTC 的时差 用分钟表示的相对于 UTC 的时差 date 存储日期和时间, 不带时区, 精确到秒 timestamp 存储日期和时间, 不带时区, ...

  4. TP中单字母快捷函数总结

    ThinkPHP中有许多使用简便的单字母函数,可以很方便开发者快速的调用,但是字母函数却不方便记忆,本文将所有的字母函数总结一下,以方便以后查找.1.U() URL组装 支持不同URL模式 U($ur ...

  5. 【转】Monkey测试2——Monkey测试策略

    Monkey的测试策略 一. 分类 Monkey测试针对不同的对象和不同的目的采用不同的测试方案,首先测试的对象.目的及类型如下: 测试的类型分为:应用程序的稳定性测试和压力测试 测试对象分为:单一a ...

  6. springmvc 环境配置图

  7. Android-ViewPagerIndicator框架使用——LinePageIndicator

    前言:LinePageIndicator类似CirclePageIndicator,只是将圆点指示变成了长条指示. 一:使用是定义的布局文件simple_lines : <LinearLayou ...

  8. MTK驱动探索:mtk6582添加tp驱动s3203

    代码从mtk6589平台移植,ic为用户定制. 解决的问题有: 一.build err:主要原因是89和82平台函数和宏定义冲突,如: extern void mt_eint_unmask(unsig ...

  9. ios - UINavigationBar添加背景图片的几种简单思路

    UITabBarController下面常常需要为多个ViewController设置导航栏样式,总结了一下遇到过的为UINavigationBar添加背景图片的几种简单思路 以设置背景图片为例: 第 ...

  10. B - Catch That Cow (抓牛)

    B - Catch That Cow Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u ...