java筆試題之 將阿拉伯數字轉換成中文

2021-07-11 09:40:39 字數 1207 閱讀 9687

將阿拉伯數字轉換成中文(不帶小數點)的思路:

1,定義乙個存放單位的string陣列("","十","百","千",...,"萬億"),再定義乙個存放中文數字char陣列('零','一','二',...'九'),定義乙個int型別的數值num

static string units = ;
static char numarray = ;
int num = 245000006;

2,呼叫string.valueof(num).tochararray()將num轉成string型別再轉成乙個char陣列,定義乙個stringbuffer物件sb,獲取char陣列的長度length

char val = string.valueof(num).tochararray();
stringbuilder sb = new stringbuilder();
int length = val.length;

3,for迴圈遍歷char的每乙個元素,獲取每乙個元素的值並判斷元素值是否為0,獲取每乙個元素對應的單位(length-1)-i

如果當前元素為0,則分兩種情況,如果當前的下乙個元素值為0則continue,如果不為0則在sb拼湊中文零

如果當元素不為0,則出sb拼湊當前元素值物件的中文和單位

for (int i = 0; i < len; i++)  else 

} else

}

return sb.tostring();
完整**:

public class numberformattest ;

static char numarray = ;

public static void main(string args)

private static string foematinteger(int num) else

} else

} return sb.tostring();

}}

輸出結果:

num= 233200040, 轉換結果: 二億三千萬三百萬二十萬零四十零

阿拉伯數字轉中文

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...