吾愛破解 - LCG - LSG |安卓破解|病毒分析|破解軟件|pipinga.com

 找回密碼
 注冊[Register]

QQ登錄

广西快三只需一步,快速開始

搜索
查看: 490|回復: 10

[Web] 數字轉中文金額

  [復制鏈接]
樓主
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
這個真實用~平時寫報告文檔類還要輸入法轉繁體~樓主能發一下成品么~感謝
3#
龐曉曉 發表于 2020-3-26 10:43
gtu111 發表于 2020-3-26 10:37
這個真實用~平時寫報告文檔類還要輸入法轉繁體~樓主能發一下成品么~感謝

你把代碼另存一下……
如果僅僅是為了功能,你用excel就成
4#
gtu111 發表于 2020-3-26 10:45
龐曉曉 發表于 2020-3-26 10:43
你把代碼另存一下……
如果僅僅是為了功能,你用excel就成

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

你在桌面建一個后綴為html的文件,名字自己取,比如,
[Asm] 純文本查看 復制代碼
繁體金額轉換.html

然后右鍵記事本打開,把樓主的代碼復制進去,保存
然后直接雙擊,在瀏覽器打開
這樣就可以使用樓主寫的東西了
6#
hnwang 發表于 2020-3-26 10:57
不錯 感謝分享
7#
GMCN 發表于 2020-3-26 10:58
GMCN 發表于 2020-3-26 10:53
你在桌面建一個后綴為html的文件,名字自己取,比如,[mw_shl_code=asm,true]繁體金額轉換.html[/mw_shl_ ...

不要意思看漏了,樓主還用了php,笑哭,這個要裝php才行,網上應該有其他的工具,你可以搜一下
8#
asdqasdq 發表于 2020-3-26 11:02
這個怎么用的?
9#
iamwangz 發表于 2020-3-26 11:06
excel不是直接轉。。。
10#
wyrain4566 發表于 2020-3-26 11:20
等待一個結果,能直接使用的
您需要登錄后才可以回帖 登錄 | 注冊[Register]

本版積分規則 警告:本版塊禁止灌水或回復與主題無關內容,違者重罰!

快速回復 收藏帖子 返回列表 搜索

RSS訂閱|小黑屋|聯系我們|吾愛破解 - LCG - LSG ( )

GMT+8, 2020-4-8 10:58

Powered by Discuz!

广西快三Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表
吉林快三-Welcome 天津快三-Home 贵州快三-广西快三 体彩快三-推荐 福彩快三-官网 彩神快三-欢迎您 广西11选5-安全购彩 江西11选5-Welcome 3分11选五-Home 5分11选五-广西快三