/**
* @param datestr 數字
* @description 按照漢語讀的習慣
* @return:
* @author: zhangjy
* @date: 2019/7/11 10:21
* @since:
*/public
static string tochinesenum
(string datestr)
if(datestr.
length()
>47)
list
soutter= arrays.
aslist(""
,"萬"
,"億"
,"兆"
,"京"
,"垓"
,"秭"
,"穰"
,"溝"
,"澗"
,"正"
,"載"
,"極");
list
sinner= arrays.
aslist(""
,"十"
,"百"
,"千");
stack
stack =
newstack()
;//先將數字翻轉
stringbuffer reversestr=
newstringbuffer
(datestr)
.reverse()
;int strlength = datestr.
length()
;//每四個一組
int groupnum =
(strlength-1)
/4; string[
] stringsplit=
newstring
[groupnum+1]
;for
(int i=
0;i<=groupnum;i++
)for
(int i =
0; i <=groupnum; i++
)else
for(
int j =
0; j )else
}else
else}if
(!"".
equals
(s.tostring()
))} stack.
add(s.
tostring()
);}}
} stringbuilder result =
newstringbuilder()
;if(!stack.
empty()
&&"0"
.equals
(stack.
peek()
))while
(!stack.
empty()
)return
tochinese
(result.
tostring()
);}/**
* @description 僅僅轉化為漢字,不按照漢語語法讀
* @param integer
* @return:
* @author: zhangjy
* @date: 2019/7/11 10:22
* @since:
*/public
static string tochinese
(string datestr )
```
阿拉伯數字轉換為簡寫漢字
阿拉伯數字轉換為簡寫漢字 function arabiatosimplifiedchinese num if isnan num 字元處理完畢後開始轉換,採用前後兩部分分別轉換 part string num split newchar 小數點前進行轉化 for i part 0 length 1 ...
阿拉伯數字轉換為中文數字
首先,如果在數字中有小數部分,那麼直接從末尾開始將小數部分的每一位轉換為中文,即 20 28行所示,最後需要增加乙個 點 字。然後,從小數點左邊的低位到高位四位四位地進行轉換,如 34 51行所示。flag是0位數的計數,如果當前四位全是0那麼不需要每四位的單位,如 萬 億 兆 等,見52 53行。...
中文數字轉換為阿拉伯數字
需求 1 2 今天寫了三千二百行 今天寫了3200行 兩行意思相同,只是表達方式不太能夠,統一掉。原理 數字的特徵是數字 單位,例如三百,四十二,九千零二 可以從後往前遍歷,遇到的是0到9的數字,就乘以前一位的單位,遇到新的單位 十百千萬 就替換成數字供下乙個數字用。舉例 1 2 3 4 5 6 五...