將阿拉伯數字轉換成中文(不帶小數點)的思路:
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...