public static function amountInWords($num) {





        if (!is_numeric($num) || empty($num))

            return "";

        

        $return = "";

        $unit = array("分", "角", "圆", "整");

        $dw = array("", "拾", "佰", "仟", "", "万", "亿", "兆");

        $char = array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");

        preg_match_all("/(\d*)\.?(\d*)/", $num, $ar);

        

        if (intval($ar[2][0]) > 0) {

            $return .= $ar[2][0][0] == 0 ? "" : $char[$ar[2][0][0]] . $unit[1];

            if (isset($ar[2][0][1])) {

                if (empty($return) && $ar[1][0] > 0)

                    $return = $char[0] . $char[$ar[2][0][1]] . $unit[0];

                else

                    $return .= $char[$ar[2][0][1]] . $unit[0];

            }

        }else{

            $return .= $unit[3];

        }





        if ($ar[1][0] != "") {

            $str = strrev($ar[1][0]);

            $len = strlen($str);

            for ($i = 0; $i < $len; $i++) {

                $out[$i] = $char[$str[$i]]; 

                $out[$i] .= $str[$i] != "0"? $dw[$i%4] : "";

                if ($str[$i] + $str[$i-1] == 0)

                    $out[$i] = "";

                if ($i%4 == 0)

                    $out[$i] .= $dw[4+floor($i/4)];

                if ($out[$i] == "零万") 

                    $out[$i] = "万零";

            }

            $left = join("", array_reverse($out));

            if (!empty($left))

                $return = $left . $unit[2] . $return;

        }

        return $return;





    }

php小写金额转大写的更多相关文章

  1. C#:小写金额转换为大写

    #region 小写金额转换为大写 public static string CurrToChnNum(double Currnum) { string sResult = ""; ...

  2. C#实现阿拉伯数字(小写金额)到大写中文(大写金额)的转换

    /// <summary>    /// 本类实现阿拉伯数字到大写中文的转换    /// 该类没有对非法数字进行判别,请事先自己判断数字是否合法    /// </summary& ...

  3. jsp页面输入小写金额转大写

    <script> function chineseNumber(num){ if (isNaN(num) || num > Math.pow(10, 12)) return &quo ...

  4. SQL标量值函数:小写金额转大写

    我们日常开发业务系统中,作为统计报表中,特别是财务报表,显示中文金额经常遇到. 转换大小写的方法有很多,以下是从数据库函数方面解决这一问题. 效果如图: 调用:SELECT dbo.[Fn_Conve ...

  5. js 小写金额转大写

    function smalltoBIG(n) { var fraction = ['角', '分']; var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', ...

  6. js 人民币小写金额转换为大写

    function smalltoBIG(n) { var fraction = ['角', '分']; var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', ...

  7. JS将人民币小写金额转换为大写

    /** 数字金额大写转换(可以处理整数,小数,负数) */ function smalltoBIG(n) { var fraction = ['角', '分']; var digit = ['零', ...

  8. java将小写金额转换为大写的工具类

    public class Tool {             private static final String UNIT = "万千佰拾亿千佰拾万千佰拾元角分";      ...

  9. SQL函数:小写金额转换成大写

    /********************************************************作者:版本:1.0创建时间:20020227修改时间:功能:小写金额转换成大写参数:n ...

随机推荐

  1. Socket开发

    Socket开发框架之消息的回调处理 伍华聪 2016-03-31 20:16 阅读:152 评论:0     Socket开发框架之数据加密及完整性检查 伍华聪 2016-03-29 22:39 阅 ...

  2. HTML CSS——background的认识(一)

    今天回归bug时无意间看到了样式表中background属性,如今总结一下: 1.background-color:设置元素的背景色.其值能够为:color-name.color-rgb.color- ...

  3. Android开发Thread+Handler演示样本(打地鼠)

    直接在代码 package com.mingrisoft; import java.util.Random; import android.app.Activity; import android.o ...

  4. EXE文件结构和读取方法

    一.EXE文件概念 EXE File英文全名executable file .译作可运行文件,可移植可运行 (PE) 文件格式的文件,它能够载入到内存中.并由操作系统载入程序运行,是可在操作系统存储空 ...

  5. android如何使用自己定义JNI接口,以及NDK环境建设和使用的工具。

    一.建筑环境: 1.需要的工具: A.cygwin    (在windows下使用LINUX系统)                                                   ...

  6. (算法入门经典大赛 优先级队列)LA 3135(之前K说明)

    A data stream is a real-time, continuous, ordered sequence of items. Some examples include sensor da ...

  7. 【Win7】【磁盘管理】删除相似“33fbc1d57e9aaf1ea88e6f08”缓存目录

    一般,在计算机磁盘.移动硬盘.或U盘出现,类别似"33fbc1d57e9aaf1ea88e6f08",你不能删除缓存目录.能Win7删除. (1).使用管理员,打开命令提示符窗口( ...

  8. js在以div添加滚动条

    给予div另外,当我们必须定义高度和宽度的滚动条,使滚动条是有效,增加样式:overflow:auto; 版权声明:本文博主原创文章.博客,未经同意不得转载.

  9. Git Flow流程

    # 1. clone远程仓库到本地 git clone git@git.oschina.net:huogh/muzhifm_xxx.git ​ # 2. 使用远程分支origin/dev创建本地分支d ...

  10. MVC模式编程演示样本-登录认证(静态)

    好,部分博客分享我的总结JSP-Servlet-JavaBean思想认识和三层编程模型的基本流程,ZH- CNMVC该示例实现演示的编程模式-登录身份验证过程,在这里,我仍在使用静态验证usernam ...