2008年6月9日

阿拉伯數字轉中文數字

標題還真是不知道該怎麼下...(汗)

各位不知道有沒有遇到過
客戶要求顯示的資料中,阿拉伯數字一律改成中文的數字表示方式?
說真的 坎尼的同事就遇到過 (總覺得這種要求只會在台灣看到)
不過他是要改成全型的顯示方式:1→1 2→2

所以坎尼就教他一個投機的方式
先建立一個array依序存放著 0~9 的其他表示方式
再將該需要轉換的數字直接丟進去就好

今天中午休息前又想到這個東西 (距離跟我同事提已經過了一個多月)
所以下班後又做了個轉換method 以下是部份程式說明


這是aspx中的畫面,上方的TextBox是user輸入文字框
下方的TextBox是轉換過顯示的文字
Button "轉換" ,不用說,當然是發生轉換事件啦
另外坎尼加上ScriptManager及updatePanel,讓轉換過程不閃畫面













上圖就是轉換的method
首先,在method裡建立所要轉換的char[] array
再將傳入的index丟入array中,並回傳
method要傳入的參數有兩個,第一是數字的index,第二是type
這個type各位可以自訂,圖中我是隨便用1234來帶過


上圖是"轉換"按鈕按下發生的事件
重點是先將輸入的文字轉為charArray (用 .ToCharArray方法)
再將char轉成Int一個一個傳入method中
這邊投機的方式是用try catch,只要轉型失敗即跳過 (表示非數值型態)

20090508 修正:
其實這邊要用 char.IsNumber 的方式來判斷才對
用 try catch 對於大量文字的轉換效能極差
(圖也修正為用 char.IsNumber 的方法)

上圖是程式執行畫面,轉換Type是第3種 (也就是一二三四五那個)

2 則留言:

匿名 提到...

没有下载的链接?

坎尼 提到...

不好意思 我大部分都只放抓圖
要source code或是其他檔案
請另外留下 email 或是私下寄信 感謝

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D