none
使用keypress 將123轉換成 壹貳參的問題 RRS feed

  • 問題

  • 各為先進   小弟在練習keypress 這個指令的時候 出現了一個習題上我想不通的地方

    簡單來講要做一個Form 讓我可以自由轉換 1 23 (當我輸入時) 就會自動改成 壹貳參 的範例

    if (radioButton1.Checked)

                {

                   string Symbol = "零壹貳參肆伍陸柒捌玖";

                   string trans="";

                    trans+=Symbol.Substring(Convert.ToInt32(e.KeyChar)-48,1);

                    textBox1.AppendText(trans);

                    e.Handled=true;

                }

    我想請問一下   Symbol.Substring(Convert.ToInt32(e.KeyChar)-48,1)    為什麼取e.KeyChar 之後的數字要『 -48 』這是什麼意思阿

    又為什麼要剪掉這個字元整數阿   48的依據是什麼阿@@?

    謝謝各位幫忙~

     

     

    2011年4月3日 上午 01:20

解答

  • KeyPressEventArgs.KeyChar 屬性取得的是該字元的ASCII Code, 而 "0" 這個字的ASCII Code的十進位值正好是48.

    可以參考 ASCII 字碼表 1


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    • 已標示為解答 菜鳥小方 2011年4月3日 上午 04:39
    2011年4月3日 上午 02:01
    版主

所有回覆