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. 传递闭包+求概率——列项相消法lightoj1321好题

    主要是要想到边与边的通过概率是独立的,所以先求出最终的概率,然后用推出的公式求总期望即可 最终概率E[0][n-1],可以用传递闭包来做 裂项相消法都不会了.. /* 闭包上推期望 每条边都具有独立性 ...

  2. 手势UIGestureRecognizer

    UIGestureRecognizer抽象类,六大手势是其子类: UITapGestureRecognizer      点击 UIPinchGestureRecognizer         缩放 ...

  3. Python学习day34-面向对象和网络编程总结

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  4. python 中的 is 方法 总结

    isidentifier: 判断变量名是否合法 iskeyword:是否为内置关键字

  5. 11-6-es5选项卡

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 多线程同步锁和死锁以及synchronized与static synchronized 的区别

    线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程.一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序.简而言之:一个程序运行后至少有一个进程,一个进程 ...

  7. 如何做系列(4)-微博URL短网址生成算法原理(java版、php版实现实例)

    短网址(Short URL),顾名思义就是在形式上比较短的网址.通常用的是asp或者php转向,在Web 2.0的今天,不得不说,这是一个潮流.目前已经有许多类似服务,借助短网址您可以用简短的网址替代 ...

  8. Drupal创建Omega 4.x 子主题layout笔记

    Adding a new region to your Omega 4.0 subtheme (Drupal) Drupal: Creating a custom layout with Omega ...

  9. NOIP2016提高A组 A题 礼物—概率状压dp

    题目描述 夏川的生日就要到了.作为夏川形式上的男朋友,季堂打算给夏川买一些生 日礼物. 商店里一共有n种礼物.夏川每得到一种礼物,就会获得相应喜悦值Wi(每种礼物的喜悦值不能重复获得). 每次,店员会 ...

  10. Python-购物车系统

    # coding=utf-8 import os, pickle class color: def echo_error(self, red): print(f"\033[31;1m {re ...