金额转换,把金额转换成为汉字大写金额!

namespace  BaseSystemFramework
{
    
using  System;
    
public   class  Capitalization
    {
        
public  Capitalization()
        {
        }

        
// 金额数字(小写)转换成文字(大写) 
         private   static   string [] shuzi = { " " , " " , " " , " " , " " , " " , " " , " " , " " , " " };
        
private   static   string [] danwei = { " " , " " , " " , " " , " " , " " , " " , " " , " " , " " , " 亿 " , " " , " " , " " };

        
/**/ ///   <summary>
        
///  金额小写转换成大写
        
///   </summary>
        
///   <param name="payment"></param>
        
///   <returns></returns>
         public   static   string  MoneyConvert( double  payment)
        {
            
string  money;
            
int  ipayment, itemp, num, length, danweinum;
            
string  spayment, stemp;
            
bool  yuan, wan, yi, zero;

            yi 
=   false ;
            wan 
=   false ;
            yuan 
=   false ;
            zero 
=   false ;
            money 
=   "" ;
            ipayment 
=  ( int )Math.Floor(payment * 100 + 0.5 );    // 转换成分并四舍五入
             if ( ipayment  >   0  )
            {
                spayment 
=  ipayment.ToString();     // 转换成字符串
                length  =  spayment.Length;
                
if ( length  >   0  )
                {
                    money 
=   "" ;
                    num 
=  length  -   1 ;
                    danweinum 
=   0 ;
                    
while ( num  >=   0  )
                    {
                        stemp 
=  spayment.Substring( num,  1  );
                        itemp 
=   int .Parse( stemp );
                        
if ( itemp  >   0  )
                        {
                            
if ( money.Length  >   0  )
                            {
                                stemp 
=  shuzi[itemp]  +  danwei[danweinum];
                                
if ( danweinum  ==   10  )
                                    yi 
=   true ;
                                
if ( danweinum  ==   6  )
                                    wan 
=   true ;
                                
if ( danweinum  ==   2  )
                                    yuan 
=   true ;
                                
if ( danweinum  >   10  )
                                    
if ! yi )
                                    {
                                        stemp 
=  stemp  +   " 亿 " ;
                                        yi 
=   true ;
                                    }
                                
if ( danweinum  >   6  )
                                    
if ! wan )
                                    {
                                        stemp 
=  stemp  +   " " ;
                                        wan 
=   true ;
                                    }
                                
if ( danweinum  >   2  )
                                    
if ! yuan )
                                    {
                                        stemp 
=  stemp  +   " " ;
                                        yuan 
=   true ;
                                    }
                                money 
=  stemp  +  money;
                            }
                            
else
                            {
                                
if ( danweinum  >   0  )
                                {
                                    stemp 
=  shuzi[itemp]  +  danwei[danweinum];
                                    
if ( danweinum  ==   10  )
                                        yi 
=   true ;
                                    
if ( danweinum  ==   6  )
                                        wan 
=   true ;
                                    
if ( danweinum  ==   2  )
                                        yuan 
=   true ;
                                    
if ( danweinum  >   10  )
                                        
if ! yi )
                                        {
                                            stemp 
=  stemp  +   " 亿 " ;
                                            yi 
=   true ;
                                        }
                                    
if ( danweinum  >   6  )
                                        
if ! wan )
                                        {
                                            stemp 
=  stemp  +   " " ;
                                            wan 
=   true ;
                                        }
                                    
if ( danweinum  >   2  )
                                        
if ! yuan )
                                        {
                                            stemp 
=  stemp  +   " " ;
                                            yuan 
=   true ;
                                        }
                                    money 
=  stemp  +   " " ;
                                }
                                
else
                                    money 
=  shuzi[itemp]  +  danwei[danweinum];
                            }
                            zero 
=   false ;
                        }
                        
else
                        {
                            
if ( money.Length  >   0  )
                                
if ! zero )
                                {
                                    money 
=  shuzi[itemp]  +  money;
                                }
                            zero 
=   true ;
                        }
                        num
-- ;
                        danweinum
++ ;
                    }
                }
            }
            
return  money;
        }

        
/**/ ///   <summary>
        
///  金额小写转换成大写
        
///   </summary>
        
///   <param name="payment"></param>
        
///   <returns></returns>
         public   static   string  MoneyConvert(  string  payment )
        {
            
if ( payment.Length  !=   0 )
                
return  MoneyConvert( Convert.ToDouble( payment ) );
            
else
                
return  MoneyConvert( Convert.ToDouble(  " 0 "  ) );
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值