0
A
回答
1
0
有一個ruby gem馬克·伯恩斯,做它。我最近分裂它增加支持多年。您可以致電ruby code from C#。
3
已經測試過它可以處理包含多個數字的字符串。
用法:findNumbers(「成本是五百二十九千三百二十六美元和二十三美分」);
輸出:「成本是529326美元和23美分」
Dictionary<string, string> theNumbers = new Dictionary<string, string>();
string numstring = "zero=0;one=1;two=2;three=3;four=4;five=5;six=6;seven=7;eight=8;nine=9;ten=10;eleven=11;twelve=12;thirteen=13;fourteen=14;fifteen=15;sixteen=16;seventeen=17;eighteen=18;nineteen=19;twenty=20;thirty=30;fourty=40;fifty=50;sixty=60;seventy=70;eighty=80;ninety=90;hundred=100;thousand=1000;";
theNumbers = numstring.TrimEnd(';').Split(';').ToDictionary(item => item.Split('=')[0], item => item.Split('=')[1]);
private string findNumbers(string input)
{
string tmp = "", tmpout = "", output = "";
input = input.Replace("hundred and", "hundred");
foreach (string word in input.Split(' '))
{
if (theNumbers.TryGetValue(word, out tmp))
{
if (tmpout != "") tmpout += " ";
tmpout += tmp;
} else
{
if (tmpout != "") output += " " + addNumbers(tmpout);
tmpout = "";
if (output != "") output += " ";
output += word;
}
}
if (tmpout != "") {
tmpout = addNumbers(tmpout);
if (output != "") output += " ";
output += tmpout;
}
return output;
}
private string addNumbers(string input)
{
int output = 0;
int output2 = 0;
foreach (string num in input.Split(' '))
{
if (output > 999)
{
output2 = output;
output = 0;
}
if (Int32.Parse(num) > 99)
{
output = output * Int32.Parse(num);
} else
{
output = output + Int32.Parse(num);
}
}
return (output + output2).ToString();
}
相關問題
- 1. 如何將數字轉換爲字符?
- 2. 如何將數字轉換爲字節?
- 3. 如何將字節轉換爲數字(IEEE754到數字)Actionscript
- 4. 將數字轉換爲數字範圍?
- 5. Javascript:將數字轉換爲數字
- 6. 如何將字節轉換爲小數?
- 7. Qt - 如何將數字轉換爲QChar
- 8. 如何將數字轉換爲0.mynumber
- 9. Tensorflow:如何將NaN轉換爲數字?
- 10. 如何將貨幣轉換爲數字?
- 11. 如何將數字轉換爲單詞?
- 12. 將varchar轉換爲數字
- 13. 將數字轉換爲DEG
- 14. 如何將字符串列表轉換爲數字numpy數組?
- 15. PostgreSQL - 如何將數字字段中的秒數轉換爲HH:MM:SS
- 16. 如何將數字轉換爲python中的數字
- 17. 如何使用SQL標量函數將數字轉換爲字
- 18. 如何將整數值轉換爲羅馬數字字符串?
- 19. 如何將Int數字轉換爲Double數字?
- 20. 如何將特定數字符號轉換爲數字
- 21. 如何將二進制數字轉換爲八進制數字?
- 22. 如何將Java字節數組轉換爲Scala字節數組?
- 23. 如何將C++數字格式轉換爲C#數字格式?
- 24. 如何顯示數組並將數字轉換爲字符串?
- 25. 如何將字節數組轉換爲字符串數組?
- 26. 如何在COBOL中將字母數字字符串轉換爲數字小數
- 27. 將整數轉換爲數組數字
- 28. 如何在Oracle中將字節字符串轉換爲數字?
- 29. 如何將數字轉換爲字符串(字母)在PHP?
- 30. 如何將字符和字符串轉換爲字節數組?
向我們展示你嘗試過什麼... – Marco 2012-02-10 10:06:52
你會發現這個答案有用:http://stackoverflow.com/a/1077651/104435它是僞代碼,因此您必須自行將其轉換爲C# – soniiic 2012-02-10 10:08:06
但問題本身很有趣。有這樣的圖書館嗎?哪一個使用?這不是你應該推出自己的東西。 – 2012-02-10 10:08:47