JAVA 将数字字符串转换成中文形式

来源:互联网 发布:魔百盒mg100安装软件 编辑:程序博客网 时间:2024/06/06 02:23
 /** *//**
     * 将数字字符串转换成中文形式
     * 
     * 
@param s
     *            数字字符串
     * 
@return 相应的中文形式字符串
     
*/

    
public static String ConvertCharge(String s) ...{
        StringBuffer retStrBuf 
= new StringBuffer();
        String num[] 
= ..."""""""""""""""""""" };
        String unit[] 
= ..."亿""""""""""""""" };
        
int dot = 0// 小数点位置
        int ivalue = 0;
        
int len = 0;
        
if (s == null || s.length() <= 0) ...{
            
return num[0];
        }

        dot 
= s.indexOf(".");
        
if (dot == -1) ...{
            String tmpStr 
= s;
            len 
= tmpStr.length();
            
int i = 0;
            
for (i = 0; i < len - 1; i++) ...{
                ivalue 
= Integer.parseInt(tmpStr.substring(i, i + 1));
                retStrBuf.append(num[ivalue]).append(unit[(len 
- i - 1% 8]);
            }

            ivalue 
= Integer.parseInt(String
                    .valueOf(tmpStr.substring(i, i 
+ 1)));
            retStrBuf.append(num[ivalue]);
        }
 else ...{
            String tmpStr1 
= s.substring(0, dot);
            len 
= tmpStr1.length();
            
int i = 0;
            
for (i = 0; i < len - 1; i++) ...{
                ivalue 
= Integer.parseInt(tmpStr1.substring(i, i + 1));
                retStrBuf.append(num[ivalue]).append(unit[(len 
- i - 1% 8]);
            }

            ivalue 
= Integer.parseInt(tmpStr1.substring(i, i + 1));
            retStrBuf.append(num[ivalue]);

            
if (dot < s.length() - 1) ...{
                retStrBuf.append(
"");
                String tmpStr2 
= s.substring(dot + 1);
                len 
= tmpStr2.length();
                
for (i = 0; i < len; i++) ...{
                    ivalue 
= Integer.parseInt(tmpStr2.substring(i, i + 1));
                    retStrBuf.append(num[ivalue]);
                }

            }

        }

        
        retStrBuf.append(
"元整");
        
return retStrBuf.toString();
    }