`
yupengfeiwangcui
  • 浏览: 2369 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

人民币大小写转换

    博客分类:
  • java
阅读更多
import java.text.DecimalFormat;

//import java.util.Calendar;

public class NumToText {
/**
	 * 人民币大小写转换
	 * @param dblNum	--800.34
	 * @return -- 捌佰零拾零圆叁角肆分整--到分 		
	 */
	public static String getUpperCase(double dblNum) {
		String str_dblNum;
		String NumToText = "零";
		String[] NumAtBit = { "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟" };
		String[] NumAtBit1 = { "角", "分" };
		String[] Num_To_Chinese = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
		int intBit; //整数位数
		int intDec = 2; //小数位数
		String strTemp = "";
		String strBit;

		//str_dblNum=(new BigDecimal(dblNum)).toString();
		//str_dblNum = (new Double(dblNum)).toString();
		DecimalFormat df = new DecimalFormat("#.00");
		str_dblNum = df.format(dblNum);
		if (str_dblNum.indexOf(".") < 0)
			str_dblNum += ".00";
		else
			str_dblNum += "00";
       
		if(str_dblNum.equals(".0000")){
			str_dblNum="0.0000";
		}
		intDec = str_dblNum.indexOf(".");
		if (checkNumber(str_dblNum.substring(0, intDec)) && checkNumber(str_dblNum.substring(intDec, intDec + 2))) {
			return "";
		}
		str_dblNum = str_dblNum.substring(0, intDec) + str_dblNum.substring(intDec, intDec + 3);

		int int_dblNum = Integer.parseInt(str_dblNum.substring(0, intDec));

		intBit = (String.valueOf(int_dblNum)).length();
		for (int i = 1; i <= intBit; i++) {
			strBit = str_dblNum.substring(i - 1, i);
			if (strBit.equals("."))
				strBit = "0";
			strTemp += Num_To_Chinese[Integer.parseInt(strBit)] + NumAtBit[intBit - i];
		}

		int i_dot = str_dblNum.indexOf(".") + 1;
		for (int i = 0; i < 2; i++) {
			strTemp += Num_To_Chinese[Integer.parseInt(str_dblNum.substring(i_dot + i, i_dot + i + 1))] + NumAtBit1[i];
		}

		NumToText = strTemp + "整";

		return NumToText;
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics