JAVA 数字转换为中文大写的转换

来源:百度知道 编辑:UC知道 时间:2024/07/07 11:14:16
读入一个浮点数值,将其转化为中文金额的大写形式。
如123.45,转化为:壹佰贰拾叁元肆角伍分。 以下是各种情况要完善:
1. 当金额为整数,只表示整数部分,省略小数部分,并添加“整”字。如123表示为:壹佰贰拾叁元整。
2.当金额中含有连续的0时,只需写一个“零”即可。如10005表示为:壹万零伍元整。
3.10的表示形式。如110表示为:壹佰贰拾元整。而10则表示为:拾元整。

这个题目我感觉很复杂, 求大侠们教教 怎么做
我新手 输入数据就不要了 自己定义数字就成
尽可能完善程序 谢谢

package com.heyang;

/**
* 将10亿以内的阿拉伯数字转成汉字大写形式
* @author xizhenyin
*
*/
public class CnUpperCaser {
// 整数部分
private String integerPart;
// 小数部分
private String floatPart;

// 将数字转化为汉字的数组,因为各个实例都要使用所以设为静态
private static final char[] cnNumbers={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};

// 供分级转化的数组,因为各个实例都要使用所以设为静态
private static final char[] series={'元','拾','百','仟','万','拾','百','仟','亿'};

/**
* 构造函数,通过它将阿拉伯数字形式的字符串传入
* @param original
*/
public CnUpperCaser(String original){
// 成员变量初始化
integerPart="";
floatPart="";

if(original.contains(".")){
// 如果包含小数点
int dotIndex=original.indexOf(&qu