2016-12-03 130 views
1

我想讀取整數並在C#中返回一個字符串?讀取整數和返回字符串

例如:1234是一千二百三十四。

我正在嘗試這樣做的樂趣,因爲我剛剛學會了C#。但事實證明這很困難。任何指導都有幫助?到目前爲止,我已經找到了給定的數字的長度(eazy peazy),但困難的部分是如何處理它。

我不是在尋找完整的代碼,只是建設性的建議和解決這個問題的方法/算法。

回答

0

我認爲最有用的建議是想想地址值

你知道1xxx是「一千」,2xxx是「二千」等。這就是如果最高位數字在千位上,數字的名字將如何開始。

數百個地方也是如此:1xx是「一百」,2xx是「二百」等。這將在數千位字符串之後立即出現,並以逗號分隔。

您需要準備一個字符串表來將簡單數字(1-9)映射到文本字符串,然後您只需將它們連接到「百」或「千」。

對於十幾個地方,事情變得有點棘手,因爲我們不說「三十」。英語對每一個都有特殊的詞彙,比如「三十」和「五十」。所以你需要另外一個將1-9位數字(在十位找到)映射到特殊名字的表格。

最後,你有一個地方,就像你說的那樣,「eazy peazy」。使用相同的字符串表將1映射爲「1」,將2映射爲「2」等。用連字符將十位字符串與ones-place字符串分開。

因此,對於您的1234例中,您有:

  • 「一」 「千」
  • 「兩節」 「百」
  • 「三十」
  • 「四個一」

…正是你想出如何用英語說出來的方式!該代碼非常寫道自己。

剩下的唯一挑戰是處理的情況下,這些地方值之一缺少,例如當它包含0有可能是一個更好的辦法,但我的直覺告訴你需要的條件(如)語句來處理這個。