2013-06-04 17 views
0

我必須在int中將int 1轉換爲字符串'one',2轉換爲'two'等等,是否有人可以解釋我如何在Java中做到這一點。可能嗎?在將int 1轉換爲字符串'one',2轉換爲'two'等問題中存在問題

+0

製作一個包含swtich的方法並相應地返回所需的字符串。 – Smit

+0

不,這是不可能的(諷刺)。 –

+0

已經有類似的問題 - http://stackoverflow.com/questions/3299619/algorithm-that-c​​onverts-numeric-amount-into-english-words –

回答

1

是的。從零開始,最下面的二十一個數字有個別名稱,然後有模式高達幾百,千,百萬,等等。

+0

要添加到此,特殊情況下0.從那裏,如果需要包括一個否定。將數字拆分爲三個組,並使用特殊情況構建這些數字。然後使用log10s來找出數字的基數,應用正確的結尾(千,百萬,十億)。 例如:127233. - >一萬二千七千二百三十三。 – 2013-06-04 17:10:54

+0

@傳奇好點。編輯。我會對您的評論+1,但由於某種原因,我最近無法從此瀏覽器執行此操作......或者確認我已瀏覽過評論。 – CPerkins

1
String[] strArr = {"zero","one","two"}; 

String one = strArr [1]; 
+1

20億元后... – 2013-06-04 17:04:59

0

當然,但沒有什麼神奇的方式讓它工作,所以你必須手動編寫所有的代碼。

的一種方法是簡單地寫一個開關/ case子句返回經轉換的值,因爲這樣的:

public static String convertNumber(int i) { 
    switch(i) { 
     case 1: 
      return "one"; 
     case 2: 
      return "two"; 
     } //etc 
} 

另一種方法是將其全部添加到地圖和使用的是,作爲這樣的:

Map<Integer, String> numbersMap = new TreeMap<Integer,String>(); 
numbersMap.add(1, "one"); 
numbersMap.add(2, "two"); //etc 

,然後使用以下方法來獲得所需的字符串:

numbersMap.get(int); 

而且,看到this爲「全部」號碼的一般解決方案。

+1

如果你使用'return',那麼'break'沒有任何意義... – Smit

+0

@Smit謝謝 - 我的自動模式顯然踢了.. – ddmps

+0

我可以使用開關或地圖,但我正在嘗試將數字轉換爲文字格式的任何通用方法,因爲我可能必須以百位顯示數字。謝謝。 – user442928