吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1643|回复: 6
收起左侧

[其他转载] 小白用php写了一个大写金额转换器的页面

  [复制链接]
jiangbo123 发表于 2020-3-19 13:29
本帖最后由 jiangbo123 于 2020-3-19 13:38 编辑
  • 才学php,利用php写了一个把数字转换为大写中文金额的页面
  • 应该有一些bug,请大佬指正
  • 语法有哪些可以改进的,请大佬指正
  • php有哪些要点,请大佬指正
  • 问题:怎么把php的数据提交到html代码中?请大佬指正

    代码如下

<?php
        $xiao = ""; 
        $da = "";
        if(isset($_POST['sub'])){
                $num = $_POST['xiao'];
                if(is_numeric($num)){
                        $xiao = $num;
                        if(strlen(trim($num,'.')) == strlen($num)){
                                if(strpos($num,'.')){
                                        $num = trim($num,"0");
                                        if(strlen($num) - strpos($num,'.') > 3){
                                                $da = "小数超出范围";
                                        }else{
                                                $da = change_float($num);
                                        }
                                }else{
                                        $num = ltrim($num,"0");
                                        $da = change_int($num);        
                                }
                        }else{
                                $da = "输入错误";
                        }

                }else{
                        $da = "输入的不是数字";
                }
        }else{
                $da = "请先输入数字";
        }
        function change_float($num){
                $index = strpos($num,'.');
                $len = strlen($num);
                $nownum = "";
                $lastnum = "";
                $nar = false;
                for($i = 0; $i < $index; $i++ ){
                        if($num[$i] == 0 && $i != $len - 1){
                                if($index - $i - 1 == 4 && $nar || $index - $i - 1 == 8 && $nar){
                                        $nar = false;
                                }elseif($num[$i+1] == 0){
                                        continue;
                                }else{
                                        $nownum .= change_num($num[$i]);
                                        continue;
                                }        
                        }elseif($num[$i] == 0){
                                continue;
                        }else{
                                if($index - $i - 1 > 4 && $index - $i - 1 <= 7 || $index - $i - 1 > 8){
                                        $nar = true;
                                }
                                $nownum .= change_num($num[$i]);
                        }
                        switch($index - $i -1){
                                case 1 : $nownum .= "拾";break;
                                case 2 : $nownum .= "佰";break;
                                case 3 : $nownum .= "仟";break;
                                case 4 : $nownum .= "万";break;
                                case 5 : $nownum .= "拾";break;
                                case 6 : $nownum .= "佰";break;
                                case 7 : $nownum .= "仟";break;
                                case 8 : $nownum .= "亿";break;
                                case 9 : $nownum .= "拾";break;
                                case 10: $nownum .= "佰";break;
                                case 11: $nownum .= "仟";break;
                                case 12: $nownum .= "万";break;
                        }
                }
                for($i = $index + 1; $i < $len; $i++ ){
                        if($num[$i] == 0){
                                continue;
                        }else{
                                $lastnum .= change_num($num[$i]);
                        }
                        switch($i - $index){
                                case 1 : $lastnum .= "角";break;
                                case 2 : $lastnum .= "分";break;
                           }
                }
                if($nownum){
                        $sumnum = $nownum."元".$lastnum;
                }elseif($lastnum){
                        $sumnum = $lastnum;
                }else{
                        $sumnum = "零元";
                }

                return $sumnum;

        }
        function change_int($num){
                $len = strlen($num);
                $nownum = "";
                $nar = false;
                for($i = 0; $i < $len; $i++ ){
                        if($num[$i] == 0 && $i != $len - 1){
                                if($len - $i - 1 == 4 && $nar || $len - $i - 1 == 8 && $nar){
                                        $nar = false;
                                }elseif($num[$i+1] == 0){
                                        continue;
                                }else{
                                        $nownum .= change_num($num[$i]);
                                        continue;
                                }        
                        }elseif($num[$i] == 0){
                                continue;
                        }else{
                                if($len - $i - 1 > 4 && $len - $i - 1 <= 7 || $len - $i - 1 > 8){
                                        $nar = true;
                                }
                                $nownum .= change_num($num[$i]);
                        }
                        switch($len - $i - 1){
                                case 1 : $nownum .= "拾";break;
                                case 2 : $nownum .= "佰";break;
                                case 3 : $nownum .= "仟";break;
                                case 4 : $nownum .= "万";break;
                                case 5 : $nownum .= "拾";break;
                                case 6 : $nownum .= "佰";break;
                                case 7 : $nownum .= "仟";break;
                                case 8 : $nownum .= "亿";break;
                                case 9 : $nownum .= "拾";break;
                                case 10: $nownum .= "佰";break;
                                case 11: $nownum .= "仟";break;
                                case 12: $nownum .= "万";break;
                        }
                }
                if($nownum){
                        $sumnum = $nownum."元";
                }else{
                        $sumnum = "零元";
                }

                return $sumnum; 
        }
        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 '零';
                                default:return '参数错误';exit;
                        }
        }        
?>
<html>
        <head>
                <title>大小写转换</title>
                <style type="text/css"> 
                form{
                        border: 1px solid #CCCCCC;
                        border-radius: 5px;
                        padding: 40px 20px 20px;
                        width: 400px;
                        height: 200px;
                        margin: 300px auto;
                        transition: all 0.5s;
                        -webkit-transition: all 0.5s;
                }
                form:hover{

                        box-shadow: 2px 2px 10px #CCCCCC;
                }
                form input{
                        margin: auto;
                        display: block;
                        width: 100%;
                        height: 50px;
                        margin-bottom: 5px;
                        font-family: "微软雅黑";
                        font-size: 20px;
                        border-radius: 5px;
                        border: 1px solid #CCCCCC;
                }
                input[type='submit']{
                        background-color: #4CAF50;
                        color: #FFFFFF;
                        border: none;
                        border-radius: 5px;
                        width: 100%;
                        height: 50px;
                        margin-top: 30px;
                }
                input[type='submit']:focus{
                        background-color: #45a049;
                        outline: none;
                }
        </style>
        </head>
        <body>
                <form action="#" method="post">
                        <input type="text" name="xiao" id="xiao" placeholder="请输入数字" value="<?php echo $xiao?>"/>
                        <input type="text" name="da" id="da" value="<?php echo $da;?>" readonly/>
                        <input type="submit" name='sub' value="转换为大写"/>
                </form>
        </body>
</html>

结果截图


N6$VJH(@H66VAJ5{)AW243H.png
F@7ONDO9ZJ@Q[ES(M{KVOSQ.png
63HN1CHL{H4[9_)Y[Z9HBML.png
~AU7VISE429)STZSZR0RWOR.png

免费评分

参与人数 1热心值 +1 收起 理由
wdxb2009 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

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

他说我说 发表于 2020-3-19 13:42
才发现   中文用白话说出来顺口多了
东方星雨 发表于 2020-3-19 13:48
 楼主| jiangbo123 发表于 2020-3-19 14:00
Parkourr 发表于 2020-3-19 14:07
香喷喷,收下
HEcong 发表于 2020-3-19 20:47
收藏了。。
dazeng 发表于 2020-3-20 10:20
这个不错,谢谢楼主!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

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

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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