jiangbo123 发表于 2020-3-26 09:53

数字转中文金额

## 概述
- 在我发出自己的代码后,我的老师也发出了她的版本
- 我的版本在前一个帖子里面
- 这个版本是老师的代码

## 代码如下
```
<!DOCTYPE html>
<html>
<head>
        <title></title>
</head>
<body>

        <form method="post" action="#">
                <input name="money" value="<?php if(isset($_POST['act'])){echo $_POST['money'];}?>"></input>
                <input type="submit" value="开始转换" name="act"></input>
        </form>

</body>
</html>

<?php
        function change_num($i){
                switch($i){
                        case '1': return "壹";
                        case '2': return "贰";
                        case '3': return "叁";
                        case '4': return "肆";
                        case '5': return "伍";
                        case '6': return "陆";
                        case '7': return "柒";
                        case '8': return "捌";
                        case '9': return "玖";
                        case '0': return "零";
                        defualt : return "参数错误";exit();
                }
        }

        function change_int1($i){
                switch($i){
                        case '1':return "";
                        case '2': return "拾";
                        case '3': return "佰";
                        case '0': return "千";
                        defualt : return "参数错误";exit;
                }
        }

        function change_int2($i){
                switch($i){
                        case '0': return "圆";
                        case '1': return "万";
                        case '2': return "亿";
                        defualt : return "参数错误";exit;
                }
        }

        function change_flo($i){
                switch($i){
                        case '1': return "角";
                        case '2': return "分";
                        defualt : return "参数错误";exit;
                }
        }

        $big_mon = "";
        if(isset($_POST['act'])){

                if(!is_numeric($_POST['money'])){
                        exit("不是数字");
                }
               
                $money = $_POST['money'];
               
                $money_int = intval($money);

                $money_float = round(($money - $money_int),2);
       
                $len_int = strlen($money_int);
                $len_float = strlen($money_float);

                for($i=0;$i<$len_int;$i++){
                        if($money[$i] != 0){
                                $big_mon .= change_num($money[$i]).change_int1(($len_int-$i)%4);
                        }elseif(isset($money[$i+1]) && $money[$i+1] !=0){
                                $big_mon .= change_num($money[$i]);
                        }


                        if(($len_int-$i)%4==1){
                                $big_mon .= change_int2(intval(($len_int-$i)/4));
                        }
                }

               
                $n_jiao = intval($money_float*10);
                $n_fen = $money_float*100 - $n_jiao*10;       

                if($n_jiao != 0){
                        $big_mon .= change_num($n_jiao).change_flo(1);
                }elseif($n_fen != 0){
                        $big_mon .= change_num($n_jiao);
                }

                if($n_fen != 0){
                        $big_mon .= change_num($n_fen).change_flo(2);
                }


               
        }
        echo $big_mon;
?>
```
## 截图



## 总结
- 老师的代码更多的是封装到了函数里面
- 函数都不长,思路很清晰,代码量也少一些
- 也为我提供了另一个思路,受益匪浅

gtu111 发表于 2020-3-26 10:37

这个真实用~平时写报告文档类还要输入法转繁体~楼主能发一下成品么~感谢{:301_993:}

庞晓晓 发表于 2020-3-26 10:43

gtu111 发表于 2020-3-26 10:45

庞晓晓 发表于 2020-3-26 10:43
你把代码另存一下……
如果仅仅是为了功能,你用excel就成

{:301_972:}办公室小白~我只要那个功能而已。常用也就是word.

GMCN 发表于 2020-3-26 10:53

gtu111 发表于 2020-3-26 10:45
办公室小白~我只要那个功能而已。常用也就是word.

你在桌面建一个后缀为html的文件,名字自己取,比如,繁体金额转换.html
然后右键记事本打开,把楼主的代码复制进去,保存
然后直接双击,在浏览器打开
这样就可以使用楼主写的东西了

hnwang 发表于 2020-3-26 10:57

不错 感谢分享

GMCN 发表于 2020-3-26 10:58

GMCN 发表于 2020-3-26 10:53
你在桌面建一个后缀为html的文件,名字自己取,比如,繁体金额转换.html

不要意思看漏了,楼主还用了php,笑哭,这个要装php才行,网上应该有其他的工具,你可以搜一下

asdqasdq 发表于 2020-3-26 11:02

这个怎么用的?

iamwangz 发表于 2020-3-26 11:06

excel不是直接转。。。

wyrain4566 发表于 2020-3-26 11:20

等待一个结果,能直接使用的
页: [1] 2
查看完整版本: 数字转中文金额