java每日一題 將阿拉伯數字轉為為漢語

2021-08-18 12:25:08 字數 500 閱讀 5688

輸入:1000

20222

330101110

輸出 :一千

二萬零二百二十二

三億三千零一十萬一千一百一十

難點:1. 中間如果出現了多個0 怎麼處理

2.如何實現數字和單位的組合

3.因為數是乙個個拼出來的,如何不使用低效的拼接字串

的方法就可以輸出string字串

第二點問題可以通過陣列,將一到九的數字放入陣列,十到萬億放入陣列從而來組合如下

string units = ;

char numarray = ;

第一點問題可以這樣考慮無論是1001還是10000001,只要出現中間了0那麼就會有中文數字『零』,但是如果

出現了多個0,那麼只能讀一次『零』,所以在每乙個位判斷的時候,只要出現是零,就加上乙個『零』,如果後面一位比較是0且前一位也是0,那麼這一位因為前面是0的時候已經加上了『零』,那麼就不需再加了,直接比較下一位如下為**擷取一段

以下為**:

阿拉伯數字轉中文

public class cnuppercaser 供分級轉化的陣列,因為各個例項都要使用所以設為靜態 private static final char series 建構函式,通過它將阿拉伯數字形式的字串傳入 param original public cnuppercaser string o...

中文數字轉阿拉伯數字

這個題與leetcode第13題羅馬數字轉換很相似 13.roman to integer 我開始想用c 處理,進行漢字 個十百千萬 與數字的對應,但是中文字元不屬於ascii碼,直接使用標準類模板裡的string會導致漢字亂碼。所以得使用寬字串wstring和寬字元wchar t 使用stl中的m...

阿拉伯數字轉羅馬數字

最開始想的是當成進製轉,比如說 1 i,2 ii,5 v,6 vi public static string inttoroman1 int num int radix stringbuffer sb new stringbuffer for int i radix.length 1 i 0 i r...