zoukankan      html  css  js  c++  java
  • 将人民币的数字表示转化成大写表示(C#版)

    using System;

    namespace Test.Com
    {
     
    /// <summary>
     
    /// 功能:字符串处理函数集
     
    /// </summary>
     public class DealString
     {
      
    #region 私有成员
      
    /// <summary>
      
    /// 输入字符串
      
    /// </summary>
      private string inputString=null;
      
    /// <summary>
      
    /// 输出字符串
      
    /// </summary>
      private string outString=null;
      
    /// <summary>
      
    /// 提示信息
      
    /// </summary>
      private string noteMessage=null;
      
    #endregion

      
    #region 公共属性
      
    /// <summary>
      
    /// 输入字符串
      
    /// </summary>
      public string InputString
      {
       
    get{return inputString;}
       
    set{inputString=value;}
      }
      
    /// <summary>
      
    /// 输出字符串
      
    /// </summary>
      public string OutString
      {
       
    get{return outString;}
       
    set{outString=value;}
      }
      
    /// <summary>
      
    /// 提示信息
      
    /// </summary>
      public string NoteMessage
      {
       
    get{return noteMessage;}
       
    set{noteMessage=value;}
      }
      
    #endregion
      
      
    #region 构造函数
      
    public DealString()
      {
       
    //
       
    // TODO: 在此处添加构造函数逻辑
       
    //
      }
      
    #endregion

      
    #region 公共方法
      
    public void ConvertToChineseNum()
      {
       
    string numList="零壹贰叁肆伍陆柒捌玖";
       
    string rmbList = "分角元拾佰仟万拾佰仟亿拾佰仟万";
       
    double number=0;
       
    string tempOutString=null;

       
    try
       {
        number
    =double.Parse(this.inputString);
       }
       
    catch
       {
        
    this.noteMessage="传入参数非数字!";
        
    return;
       }
       
       
    if(number>9999999999999.99)
        
    this.noteMessage="超出范围的人民币值";

       
    //将小数转化为整数字符串
       string tempNumberString=Convert.ToInt64(number*100).ToString();
       
    int tempNmberLength=tempNumberString.Length;
       
    int i=0;
       
    while(i<tempNmberLength)
       {
        
    int oneNumber=Int32.Parse(tempNumberString.Substring(i,1));
        
    string oneNumberChar=numList.Substring(oneNumber,1);
        
    string oneNumberUnit=rmbList.Substring(tempNmberLength-i-1,1);
        
    if(oneNumberChar!="")
         tempOutString
    +=oneNumberChar+oneNumberUnit;
        
    else
        {
         
    if(oneNumberUnit=="亿"||oneNumberUnit==""||oneNumberUnit==""||oneNumberUnit=="")
         {
          
    while (tempOutString.EndsWith(""))
          {
           tempOutString
    =tempOutString.Substring(0,tempOutString.Length-1);
          }

         }
         
    if(oneNumberUnit=="亿"||(oneNumberUnit==""&&!tempOutString.EndsWith("亿"))||oneNumberUnit=="")
         {
          tempOutString
    +=oneNumberUnit;
         }
         
    else
         {
          
    bool tempEnd=tempOutString.EndsWith("亿");
          
    bool zeroEnd=tempOutString.EndsWith("");
          
    if(tempOutString.Length>1)
          {
           
    bool zeroStart=tempOutString.Substring(tempOutString.Length-2,2).StartsWith("");
           
    if(!zeroEnd&&(zeroStart||!tempEnd))
            tempOutString
    +=oneNumberChar;
          }
          
    else
          {
           
    if(!zeroEnd&&!tempEnd)
            tempOutString
    +=oneNumberChar;
          }
         }
        }
        i
    +=1;
       }

       
    while (tempOutString.EndsWith(""))
       {
        tempOutString
    =tempOutString.Substring(0,tempOutString.Length-1);
       }

       
    while(tempOutString.EndsWith(""))
       {
        tempOutString
    =tempOutString+"";
       }

       
    this.outString=tempOutString;

       
      }
      
    #endregion
     }
    }

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    递归判断回文
    从小工到专家阅读笔记1
    建立SQL全文索引提升搜索速度
    数据库SQLServer经验小记
    [转]C#中调用SQL存储过程(带输入输出参数的例子)
    20101124 14:55 全文索引是解决海量数据模糊查询的较好解决办法
    使用SQL Server 2008提供的表分区向导
    千万级SQL Server数据库表分区的实现
    C#调用存储过程简单完整例子
    SQL server 海量数据库的查询优化及分页算法(收藏)
  • 原文地址:https://www.cnblogs.com/Athrun/p/824547.html
Copyright © 2011-2022 走看看