輸入: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...