//将数字字符串转换成大写金额字符串
//@author 何禧
//@created 2004/11/15 19:37
//@param 数字字符串
//@return 大写金额字符串
//@throws Exception
//可处理的情况包括如下这些数字形式: [.] [0.] [.0] [.3] [.32] [1.] [23]
public String cnCurrency(String sNumber) throws Exception
{
String sUnit = "分角元拾佰仟万拾佰仟亿拾佰仟兆拾佰仟";
String sChinese = "壹贰叁肆伍陆柒捌玖";
int nUnit; //货币单位下标
int nDotPos; //传入的数字中,小数点所在的位置
int nLen; //长度
int nValue; //临时数值
int i; //循环变量
String sInteger; //整数部分
String sDecimal; //小数部分
String sSuffix=""; //后缀部分
if (sNumber == null) throw new Exception("没有传入数字!");
//获取小数点所在位置
nDotPos = sNumber.indexOf(".");
if (nDotPos == -1){
sInteger = (sNumber.equals(""))?"0":sNumber;
sDecimal = "00";
}else{
sNumber = new StringBuffer().append("0").append(sNumber).append("00").toString();
nDotPos = sNumber.indexOf(".");
sInteger = sNumber.substring(0,nDotPos);
sDecimal = sNumber.substring(nDotPos+1).substring(0,2);
}
StringBuffer sbChinese = new StringBuffer();
//开始处理整数部分
nLen = sInteger.length();
for(i=0;i