各位大侠:本人工作中,有一个难题,就是用C#如何将数字显示改为文件显示,例如:如果a为5,则显示为FIVE,如果a为10,则显示为TEN,这个问题已经困扰我很久了.谢谢指导!

解决方案 »

  1.   

    int a=2;
    string[] arr= new string[]{"zero","one","two","three","four","five","six","seven","eight","nine","ten"};

    Response.Write(arr[a]);
      

  2.   

    string sss(){
    switch(a){
    case 0:
      "zero";
      break;
      ....
    case 20:
      "twenty"+sss(a-20);
     break;
      ...
    }
    }
      

  3.   

    做一个大字典就行了using System;
    using System.Collections.Generic;
    using System.Text;namespace Test
    {
      class Program
      {
        static void Main( string[] args )
        {      while ( true )
            Console.WriteLine( ToEnglish( int.Parse( Console.ReadLine() ) ) );    }
        public static string ToEnglish( int number )
        {
          StringBuilder builder = new StringBuilder();
          if ( number >= 1000000 )
          {
            builder.Append( ToEnglish( number / 1000000 ) );
            builder.Append( " million" );
            builder.Append( ToEnglish( number % 1000000 ) );
            return builder.ToString();
          }      if ( number >= 1000 )
          {
            builder.Append( ToEnglish( number / 1000 ) );
            builder.Append( " thousand" );
            builder.Append( ToEnglish( number % 1000 ) );
            return builder.ToString();
          }      if ( number >= 100 )
          {
            builder.Append( ToEnglish( number / 100 ) );
            builder.Append( " hundred" );
            if ( number % 100 != 0 )
              builder.Append( " and" ).Append( ToEnglish( number % 100 ) );
            return builder.ToString();
          }      if ( number >= 20 )
          {
            switch ( number / 10 )
            {
              case 2:
                builder.Append( " twenty" );
                break;
              case 3:
                builder.Append( " thirty" );
                break;
              case 4:
                builder.Append( " forty" );
                break;
              case 5:
                builder.Append( " fifty" );
                break;
              case 6:
                builder.Append( " sixty" );
                break;
              case 7:
                builder.Append( " seventy" );
                break;
              case 8:
                builder.Append( " eighty" );
                break;
              case 9:
                builder.Append( " ninety" );
                break;
            }        builder.Append( ToEnglish( number % 10 ) );
            return builder.ToString();
          }      switch ( number )
          {
            case 0:
              return "";
            case 1:
              return " one";
            case 2:
              return " two";
            case 3:
              return " three";
            case 4:
              return " four";
            case 5:
              return " five";
            case 6:
              return " six";
            case 7:
              return " seven";
            case 8:
              return " eight";
            case 9:
              return " nine";
            case 10:
              return " ten";
            case 11:
              return " eleven";
            case 12:
              return " twelve";
            case 13:
              return " thirteen";
            case 14:
              return " forteen";
            case 15:
              return " fifteen";
            case 16:
              return " sixteen";
            case 17:
              return " seventeen";
            case 18:
              return " eighteen";
            case 19:
              return " nineteen";
          }
          return builder.ToString();
        }
      }}
      

  4.   

    123456789
    one hundred and twenty three million four hundred and fifty six thousand seven hundred and eighty nine