吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2254|回复: 10
收起左侧

[其他转载] 数字转中文金额

  [复制链接]
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;
?>

截图

3(@87OG~@1)_II3~E9D2T9S.png
RH1GF1I@)J[ZPEHJY]B.png
VWSH`QEKC}[SM2{)8V82134.png

总结

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

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

gtu111 发表于 2020-3-26 10:37
这个真实用~平时写报告文档类还要输入法转繁体~楼主能发一下成品么~感谢
头像被屏蔽
庞晓晓 发表于 2020-3-26 10:43
gtu111 发表于 2020-3-26 10:45
庞晓晓 发表于 2020-3-26 10:43
你把代码另存一下……
如果仅仅是为了功能,你用excel就成

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

你在桌面建一个后缀为html的文件,名字自己取,比如,
[Asm] 纯文本查看 复制代码
繁体金额转换.html

然后右键记事本打开,把楼主的代码复制进去,保存
然后直接双击,在浏览器打开
这样就可以使用楼主写的东西了
hnwang 发表于 2020-3-26 10:57
不错 感谢分享
GMCN 发表于 2020-3-26 10:58
GMCN 发表于 2020-3-26 10:53
你在桌面建一个后缀为html的文件,名字自己取,比如,[mw_shl_code=asm,true]繁体金额转换.html[/mw_shl_ ...

不要意思看漏了,楼主还用了php,笑哭,这个要装php才行,网上应该有其他的工具,你可以搜一下
asdqasdq 发表于 2020-3-26 11:02
这个怎么用的?
iamwangz 发表于 2020-3-26 11:06
excel不是直接转。。。
wyrain4566 发表于 2020-3-26 11:20
等待一个结果,能直接使用的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 02:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表