人民币大小写的转换

来源:互联网 发布:穿越火线 刷枪修改数据 编辑:程序博客网 时间:2024/04/27 21:13

using System;

namespace Bypro
{
 /// <summary>
 /// AMT_GB2312 的摘要说明。
 /// </summary>
 public class AMT_GB2312
 {
  public AMT_GB2312()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }
  public string ConvertToGB2312(double amount)
  {
   string m_str,m_int,m_dec;
   int m_pos,m_len;

   m_str = System.Convert.ToString(amount);
   m_len = m_str.Length;
   m_pos = m_str.IndexOf('.',0);
   m_dec = "00";
   if (m_pos ==-1)
    m_int = m_str;
   else
   {
    m_int = m_str.Substring(0,m_pos);
    m_dec = m_str.Substring(m_pos+1 ,m_len -m_pos-1);
    m_dec = m_dec.PadRight(2,'0');
    m_dec = m_dec.Substring(0,2);
   }

   m_int = m_int.PadLeft(12,'0');

   m_str = "";
   if (m_int.Substring(0,4) != "0000")
   {
    m_str += ConvertTo9999(m_int.Substring(0,4)) + "亿";
   }

   if (m_int.Substring(4,4) != "0000")
   {
    m_str += ConvertTo9999(m_int.Substring(4,4)) + "万";
   }
   if (m_int.Substring(8,4) != "0000")
   {
    m_str += ConvertTo9999(m_int.Substring(8,4)) + "圆";
   }

   if (m_dec !="00")
   {
    m_str += ConvertDec(m_dec);
   }
   else
   {
    m_str += "整";
   }

   return m_str;

  }
  private string ConvertTo9999(string m_part)
  {
   string m_str;
   int m_val,m_tmp;
   
   m_str = "";
   m_val = (int)System.Convert.ToInt32(m_part,10);
   m_tmp = (int)m_val/1000;
   switch(m_tmp)
   {
    case 1:
     m_str = "壹仟";
     break;
    case 2:
     m_str = "贰仟";
     break;
    case 3:
     m_str = "叁仟";
     break;
    case 4:
     m_str = "肆仟";
     break;
    case 5:
     m_str = "伍仟";
     break;
    case 6:
     m_str = "陆仟";
     break;
    case 7:
     m_str = "柒仟";
     break;
    case 8:
     m_str = "捌仟";
     break;
    case 9:
     m_str = "玖仟";
     break;
    default:
     break;
   }

   m_val = m_val -(m_tmp*1000);
   m_tmp = (int)m_val/100;

   switch(m_tmp)
   {
    case 1:
     m_str += "壹佰";
     break;
    case 2:
     m_str += "贰佰";
     break;
    case 3:
     m_str += "叁佰";
     break;
    case 4:
     m_str += "肆佰";
     break;
    case 5:
     m_str += "伍佰";
     break;
    case 6:
     m_str += "陆佰";
     break;
    case 7:
     m_str += "柒佰";
     break;
    case 8:
     m_str += "捌佰";
     break;
    case 9:
     m_str += "玖佰";
     break;
    default:
     break;
   }
   m_val = m_val -(m_tmp*100);
   m_tmp = (int)m_val/10;

   switch(m_tmp)
   {
    case 1:
     m_str += "壹拾";
     break;
    case 2:
     m_str += "贰拾";
     break;
    case 3:
     m_str += "叁拾";
     break;
    case 4:
     m_str += "肆拾";
     break;
    case 5:
     m_str += "伍拾";
     break;
    case 6:
     m_str += "陆拾";
     break;
    case 7:
     m_str += "柒拾";
     break;
    case 8:
     m_str += "捌拾";
     break;
    case 9:
     m_str += "玖拾";
     break;
    default:
     break;
   }

   m_val = m_val -(m_tmp*10);
   m_tmp = (int)m_val%10;

   switch(m_tmp)
   {
    case 1:
     m_str += "壹";
     break;
    case 2:
     m_str += "贰";
     break;
    case 3:
     m_str += "叁";
     break;
    case 4:
     m_str += "肆";
     break;
    case 5:
     m_str += "伍";
     break;
    case 6:
     m_str += "陆";
     break;
    case 7:
     m_str += "柒";
     break;
    case 8:
     m_str += "捌";
     break;
    case 9:
     m_str += "玖";
     break;
    default:
     break;
   }

   return m_str;

  }
  private string ConvertDec(string m_part)
  {
   string m_str;
   int m_val;

   m_str = "";
   m_val = (int)System.Convert.ToInt32(m_part,10)/10;
   switch(m_val)
   {
    case  1:
     m_str = "壹角";
     break;

    case  2:
     m_str = "贰角";
     break;
    case  3:
     m_str = "叁角";
     break;
    case  4:
     m_str = "肆角";
     break;
    case  5:
     m_str = "伍角";
     break;
    case  6:
     m_str = "陆角";
     break;
    case  7:
     m_str = "柒角";
     break;

    case  8:
     m_str = "捌角";
     break;
    case  9:
     m_str = "玖角";
     break;
    default:
     break;

   }

   m_val = (int)System.Convert.ToInt32(m_part,10)%10;

   switch(m_val)
   {
    case  1:
     m_str += "壹分";
     break;

    case  2:
     m_str += "贰分";
     break;
    case  3:
     m_str += "叁分";
     break;
    case  4:
     m_str += "肆分";
     break;
    case  5:
     m_str += "伍分";
     break;
    case  6:
     m_str += "陆分";
     break;
    case  7:
     m_str += "柒分";
     break;

    case  8:
     m_str += "捌分";
     break;
    case  9:
     m_str += "玖分";
     break;
    default:
     break;

   }


   return m_str;
  }
 }
}

原创粉丝点击