/**
* @description:将阿拉伯数字钱格式转换成中文格式
* @author:zhanyan_x
* @version:1.0
* @date:2013-12-27 下午3:28:48
*/
public class DemoConvertMoney {
public static String[] digitals=new String[]{"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
public static void main(String[] args) {
System.out.println(convertMoneyFormat(1023406.09));
}
public static String convertMoneyFormat(Double money){
int num1=(int) (money/10000);//取万位上的
int num2=(int) (money%10000);//取个位到千位的
int num3=(int)(money*10%10);//取小数点后第一位(角)
int num4=(int)(money*100%10);//取小数点后第二位的(分)
String wanwei=num1==0?"":convert(num1)+"万";
return wanwei+convert(num2)+"元"+jiaoFen(num3, num4);
}
/**
* 转换个位到千位
* @param num
* @return
*/
public static String convert(int num){
StringBuffer sb=new StringBuffer();
int qian=num/1000;
if (qian!=0) {
sb.append(digitals[qian]+"千");
}
int bai=num/100%10;
if (bai!=0) {
sb.append(digitals[bai]+"百");
}
int shi=num%100/10;
int ge=num%10;
if (ge==0) {
if (shi!=0) {
sb.append(digitals[shi]+"十");
}
}else {
if (shi==0) {
sb.append(digitals[shi]+digitals[ge]);
}else {
sb.append(digitals[shi]+"十"+digitals[ge]);
}
}
return sb.toString();
}
/**
* 转换角分
* @param num1角
* @param num2分
* @return
*/
public static String jiaoFen(int num1,int num2){
String str=null;
if (num1!=0||num2!=0) {
if (num2==0) {
if (num1!=0) {
str=digitals[num1]+"角";
}
}else {
str=digitals[num1]+"角"+digitals[num2]+"分";
}
}
return str;
}
}
将阿拉伯数字钱格式转换成中文格式
最新推荐文章于 2018-09-14 18:03:51 发布