.net - .NET将数字转换为字符串表示形式(1到1、2到2等,等等)

标签 .net

.NET中是否有内置方法将数字转换为数字的字符串表示形式?例如,1变为1,2变为2,依此类推。

最佳答案

我一直是递归方法的粉丝

  public static string NumberToText( int n)
  {
   if ( n < 0 )
      return "Minus " + NumberToText(-n);
   else if ( n == 0 )
      return "";
   else if ( n <= 19 )
      return new string[] {"One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", 
         "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", 
         "Seventeen", "Eighteen", "Nineteen"}[n-1] + " ";
   else if ( n <= 99 )
      return new string[] {"Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", 
         "Eighty", "Ninety"}[n / 10 - 2] + " " + NumberToText(n % 10);
   else if ( n <= 199 )
      return "One Hundred " + NumberToText(n % 100);
   else if ( n <= 999 )
      return NumberToText(n / 100) + "Hundreds " + NumberToText(n % 100);
   else if ( n <= 1999 )
      return "One Thousand " + NumberToText(n % 1000);
   else if ( n <= 999999 )
      return NumberToText(n / 1000) + "Thousands " + NumberToText(n % 1000);
   else if ( n <= 1999999 )
      return "One Million " + NumberToText(n % 1000000);
   else if ( n <= 999999999)
      return NumberToText(n / 1000000) + "Millions " + NumberToText(n % 1000000);
   else if ( n <= 1999999999 )
      return "One Billion " + NumberToText(n % 1000000000);
   else 
      return NumberToText(n / 1000000000) + "Billions " + NumberToText(n % 1000000000);
}

Source

关于.net - .NET将数字转换为字符串表示形式(1到1、2到2等,等等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/794663/

相关文章:

c# - 当客户端请求具有自签名证书时,为什么我的 Application_BeginRequest() 没有被调用?

c# - 如何在 Serilog JsonFormatter 输出中包含 "Message"和 "MessageTemplate"?

.net - winforms有没有好的免费的devexpress数据网格替代品?

c# - 这种密码生成方案可能会受到哪些类型的攻击?

c# - 如何读取 ASP.NET NullReferenceException 消息中的堆栈跟踪

c# - 字符串插值不适用于 .NET Framework 4.6

c# - MongoDB .net 驱动程序 - 获取 MongoDB 服务器版本

.net - 发布 Tlb 新版本以及何时需要重新引用 Tlb

c# - 在 .Net 字符串中表达大于 127 的字节值

.net - Entity Framework 中的对象图是什么