在数字转换单词C# [英] converting numbers in to words C#
本文介绍了在数字转换单词C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
可能重复:结果
<一href=\"http://stackoverflow.com/questions/554314/how-can-i-convert-an-integer-into-its-verbal-re$p$psentation\">How我可以将整数转换的言语再presentation?
块引用>任何人都可以给我一个底code我可以将数字转换成文字工作吗?
转换号码的话(从-1000到+1000)
例如:1000 - >千解决方案公共静态字符串NumberToWords(INT数)
{
如果(编号== 0)
返回零; 如果(数℃,)
返回减+ NumberToWords(Math.Abs(号)); 串词=; 如果((数/ 1000000)大于0)
{
也就是说+ = NumberToWords(数/ 1000000)+万;
数量(%)= 1000000;
} 如果((数/ 1000)大于0)
{
也就是说+ = NumberToWords(数字/ 1000)+千;
数量(%)= 1000;
} 如果((数/ 100)大于0)
{
也就是说+ = NumberToWords(数/ 100)+百强;
数(%)= 100;
} 如果(数大于0)
{
如果(字!=)
文字+ =和; VAR unitsMap =新[] {零,一,二,三,四有,五,六个一,七,八,九,十 ,十一,十二条,十三,十四,十五,十六条,十七,十八,古诗十九首};
VAR tensMap =新[] {零,十,二十,三十,四十,五十,六十条,七十,八十,90}; 如果(数&小于20)
也就是说+ = unitsMap [数字];
其他
{
也就是说+ = tensMap [数字/ 10];
如果((数%10)0)
文字+ = - + unitsMap [数10%];
}
} 返回的话;
}Possible Duplicate:
How can I convert an integer into its verbal representation?Can anybody give me a primer code I could work on in converting numbers into words?
Converting numbers to words (ranging from -1000 to +1000) example: 1000 --> one thousand
解决方案public static string NumberToWords(int number) { if (number == 0) return "zero"; if (number < 0) return "minus " + NumberToWords(Math.Abs(number)); string words = ""; if ((number / 1000000) > 0) { words += NumberToWords(number / 1000000) + " million "; number %= 1000000; } if ((number / 1000) > 0) { words += NumberToWords(number / 1000) + " thousand "; number %= 1000; } if ((number / 100) > 0) { words += NumberToWords(number / 100) + " hundred "; number %= 100; } if (number > 0) { if (words != "") words += "and "; var unitsMap = new[] { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" }; var tensMap = new[] { "zero", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" }; if (number < 20) words += unitsMap[number]; else { words += tensMap[number / 10]; if ((number % 10) > 0) words += "-" + unitsMap[number % 10]; } } return words; }
这篇关于在数字转换单词C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文