/**
*程序功能:支持将仟亿数字转换成中文数字表示,如(110.12 转换成壹佰壹拾元壹角贰分)
*算法思路:将数字,分成整数部分和小数部分(小数部分四舍五入到两位),分别进行转换,然后将转换后的结果合并后,生成最终结果 转换过程关键怎么处理中间的零,以及如何取单位。
*/
public class ConverToChinesePart
{
//需转换的数字
private double number;
//中文数字
private String[] source1 = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
//数字单位
private String[] source2 = {"仟","佰","拾","亿","仟","佰","拾","万","仟","佰","拾","元","角","分"};
//构造函数
public ConverToChinesePart(double number)
{
this.number = number;
}
//转换整数部分
private String integerToChinese()
{
//整数部分
long integerPart = (long)number;
//将整数部分转换成字符串
String integerStr = Long.toString(integerPart);
//取得整数部分的长度
int intPartLen = integerStr.length();
//将整数部分转换成字符数组
char[] intChars = integerStr.toCharArray();
//当前字符是否为零的标志变量
boolean bitState = false;
//转换结果
String convertResult = null;
//当整数部分为0时
if (intChars[0] == '0')
{
return "";
}
//当整数部分的长度为1时
if (intPartLen == 1)
{
conve