note:習題練習-數字轉中文數字輸出

這個題目是來自於一本工具書裡的題目(最新PHP+MYSQL+AJAX網頁程式設計)
題目的要求是要讓使用者輸入3位數(數字),然後要將這三位數字轉成中文的寫法
比方說: 123,要讓他輸出成 壹百貳十叁
還滿趣的,就試了一下,稍微有練習到字串的處理(心想乾脆一天一題好了...= = )
我的寫法很low,超級初學的寫法,不過這不是重點xd
我把這個練習拆成兩個頁面,分別是page1跟page2
page1是一個表單,讓使用者輸入數字,送出後到page2
page2必須判斷這個欄位的值使否是三位數,若不是就要回到page1
這個練習做的還不算完整,因為我沒有去去除不良標籤,也沒有去驗證是英文或是中文就不能送出。


page1 :
請輸入任何3位數字 :


page2:


<?php
header('Content-type:text/html;charset=utf-8');
echo "您所輸入的數字是 : ".$_POST['number'];


/*使用 substr()傳回部分字串,將傳來的值指定給$a*/

$a = $_POST['number'];
//strlen()先計算使用者是否真的輸入三位數
if(strlen($a)== 3)
{
 $first =  substr($a,0,1);   //第1個值
 $second = substr($a,-2,1);  //第2個值
 $third = substr($a,-1);     //第3個值
 //echo $first.$second.$third;
 echo "
以下為轉換結果:
"; //先檢查第一個位數 switch($first){ case '0': break; case '1': echo "壹百"; break; case '2': echo "貳百"; break; case '3': echo "參百"; break; case '4': echo "肆百"; break; case '5': echo "伍百"; break; case '6': echo "陸百"; break; case '7': echo "柒百"; break; case '8': echo "捌百"; break; case '9': echo "玖百"; break; } //檢查第二位數 switch($second){ case '0': echo "零"; break; case '1': echo "壹拾"; break; case '2': echo "貳拾"; break; case '3': echo "參拾"; break; case '4': echo "肆拾"; break; case '5': echo "伍拾"; break; case '6': echo "陸拾"; break; case '7': echo "柒拾"; break; case '8': echo "捌拾"; break; case '9': echo "玖拾"; break; } //檢查第三位數 switch($third){ case '0': //echo "零"; break; case '1': echo "壹"; break; case '2': echo "貳"; break; case '3': echo "參"; break; case '4': echo "肆"; break; case '5': echo "伍"; break; case '6': echo "陸"; break; case '7': echo "柒"; break; case '8': echo "捌"; break; case '9': echo "玖"; break; } } else { ?>
<script>
        alert("很抱歉,您輸入的數字不是三位數");
        location.href="page1.php";
    </script>
<?
}
?>


留言

這個網誌中的熱門文章

[Android] 筆記 手機上測試自己的 APP

解決fatal: Not a git repository (or any of the parent directories): .git錯誤

[Android 筆記] 設定 ImageView 的圖檔來源