Created
October 15, 2016 04:11
-
-
Save twlca/4de95e913e9eaa625705754f57dd3800 to your computer and use it in GitHub Desktop.
在公文、表單標題等應用場合,有時需要將年、月、日日期註記轉記轉換成中文小寫。由於儲存在資料庫中的日期資料通常是由阿拉伯數字型式儲存(以利計算),所以在此類應用必需轉換。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var digits = '0123456789'; // 阿拉伯數字 | |
var small_chinese_digits = '〇一二三四五六七八九'; // 中文小寫數字 | |
var capital_chinese_digits = '零壹貮參肆伍陸㭍捌玖拾佰仟萬億兆'; // 中文大寫數字,應用侷限在金融,例如支票、匯款單、存款/提款單等 | |
// 由阿拉伯數字轉換成小寫中文數字 | |
var year = '106'; | |
year.split('').map( function( item ) { | |
return small_chinese_digits.split('')[item]; | |
}).join(''); | |
// 回傳 "一〇五" | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
阿拉伯數字與中文小寫數字、大寫數字的轉換
在公文、表單標題等應用場合,有時需要將年、月、日日期註記轉記轉換成中文小寫。由於儲存在資料庫中的日期資料通常是由阿拉伯數字型式儲存(以利計算),所以在此類應用必需轉換。
在金融界,若使用阿拉伯數字或中文小寫數字,無法避免被竄改,所以在支票、匯票、存款/提款單等,會要求騰寫中文大寫金額。撰寫金額時仍另需加拾、佰、仟、萬、億、兆等單位,現階段較少應用於一般行政作業,擇日另文討論。
JavaScript 的 `map()' 函式
map()
是陣列 (array) 專用函數,它最大的功能是藉由程式將某一陣列經由程式運算而產生另一陣列,而該新陣列是依據原始陣列其中的元素值或者是元素在陣列中的位置,針對原始陣列中每一個元素逐個運算而形成一新的陣列。split()
及join()
函式split()
函式與join()
函式兩者幾乎是相對的,就好像指數函數與對數函數的關係。前者是將字串中的每一個字元分離成陣列中的元素,而後者是將陣列中的元素結合成單一的字串。由於map()
函式是針對陣列操作的,所以會需要用到這兩個函式。split()
可以接受一個字串引數,這個字串引數作為分離字元的依據。在分離時,會去除掉字元中的分離字串而不將其列入陣列元素。join()
可以接受一個字串引數。字串引數在結合時則會插入到結合的個別元素間。引數的用法其實不複雜,但需很多文字說明,直接看範例比較容易明瞭。