2010-11-23 51 views
1

對不起,如果這是一個愚蠢的問題,但它對我目前的詞法分析項目很有用。在.Net框架中是否有內置的,最好是基於文化的(基於語言的)函數來用字符串和數字來表示它們來回轉換?像「1」< - >「一」,「2」< - >「二」,「3」< - >「三」,像這樣?如何在數字和代表它們的單詞之間進行轉換?

我知道這可以使用字典或列表與所有有效的信件,但如果已經有一個可以使用的內置函數,這是太多的工作。

編輯:投票結束的人可能沒有理解我沒有問如何將十進制表示轉換爲字符串,而是反向操作:從字符串轉換爲十進制表示。所提供的鏈接不能解決這個問題。

非常感謝。

回答

3

,這不是內置到.NET Framework中。您將不得不開發一個自定義算法來實現此功能。

不過,我建議,而不是一本字典或列表(在其中,你將不得不包括每次要能夠顯示爲一個字符串單號),你使用類似的方法來描述here ,這是更加可擴展的。

很顯然,如果您計劃將您的應用程序國際化,您應該記住,您需要非常小心這種功能。

+0

哦,我甚至看到你已經提出了BlackWasp的轉換代碼。 – 2010-11-23 10:24:33

1

我不認爲有這樣的轉換(更不用說基於文化)。有些實現請看similar question

1

不,沒有內置函數。

我記得那是golfed而回,你可以檢查出一些代碼來獲得它可以如何做一個把握:Code golf: Number to Words

+1

一般來說,使用代碼高爾夫球代碼除了代碼高爾夫之外通常不是一個好主意:P – 2010-11-23 10:40:14

+0

@Callum Rogers:這很好。 – Guffa 2010-11-23 10:46:03

0

tool通過BlackWasp應該是值得一看的。

相關問題