数字发音

来源:互联网 发布:淘宝mac版 编辑:程序博客网 时间:2024/04/28 23:55
  • 有一个非负整数,请编写一个算法,打印该整数的英文描述。
    给定一个int x,请返回一个string,为该整数的英文描述。
  • 测试样例: 1234 返回:”One Thousand,Two Hundred Thirty Four”
private  string[] belowTen = new String[] {"", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"}; private  string[] belowTwenty = new String[] {"Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"}; private  string[] belowHundred = new String[] {"", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"}; public string toString(int x){    if (x == 0) return "Zero";     return helper(x);  } private String helper(int num) {     string result = "";    if (num < 10) result = belowTen[num];    else if (num < 20) result = belowTwenty[num - 10];    else if (num < 100) result = belowHundred[num / 10] + " " + helper(num % 10);    else if (num < 1000) result = helper(num / 100) + " Hundred " + helper(num % 100);    else if (num < 1000000) result = helper(num / 1000) + " Thousand" +( num % 1000 > 0 ? "," : " ") + helper(num % 1000);    else if (num < 1000000000) result = helper(num / 1000000) + " Million" + (num % 1000000 > 0 ? "," : " ") + helper(num % 1000000);    else result = helper(num / 1000000000) + " Billion " + helper(num % 1000000000);    return result.Trim(' ');} 
0 0
原创粉丝点击