在java转换成货币资本的钱的方法

在本文中,java applet转换输入金额大写。主要练习几个功能子字符串,(),(),定时替换(),返回(),StringBuffer()等。



进口java.text.decimalformat;

进口java.util.scanner;



公共课convertmoney {

金额数量。

私人最终静态字符串{ } str_number = {零

整数单元。

私人最终静态字符串{ } str_unit = {

十进制单位。

私人最终静态字符串{ } str_unit2 = {角



public static void main(String { } args){

创建一个扫描仪。

扫描仪扫描=新扫描仪(系统内);

System.out.println(请输入一个金额:);

转换后的资本/产出量。

字符串转换为转换(scan.nextdouble());

System.out.println(转换);

}





*转换()金额转换方法。

* /

公共静态字符串转换(双D){

实例化十进制对象。 /

DecimalFormat DF =新DecimalFormat(# 0。# # # );

双塑物体。实例化

字符串strnum = df.format(D);

确定是否包含小数点。

如果(strnum.indexof(。!= 1){

弦数= strnum.substring(0,strnum.indexof(,));

长度整数部分大于12,不能转换。

如果(num.length()> 12){

System.out.println(量太大,要完成转换。);

返回;



}



}

字符串点。

如果(strnum.indexof(。!= 1){

点=元;

其他{ }

点=元集成;

}



转换结果。

结果字符串= getinteger(strnum)+点+ getdecimal(strnum);

如果(result.startswith(元)){

结果:result.substring(1,result.length());

}

返回结果;

}





* getinteger()得到整数的方法。

* /

字符串getinteger(String Num){

如果(num.indexof(= 1)!){确定是否包含小数点。

Num = num.substring(0,num.indexof(,));

}



Num =新StringBuffer(努姆)(反向)(ToString); / /反转字符串。

/ /创建一个StringBuffer对象。

StringBuffer温度=新StringBuffer();

为(int i = 0;i < num.length();i++){

Temp.append(str_unit {我});

Temp.append(str_number { num.charat(I)- 48 });

}

(Num =温度反向)(ToString); / /反转字符串。

Num = numreplace(num,零

Num = numreplace(num,lingbai

Num = numreplace(num,零万

Num = numreplace(num,零元

Num = numreplace(num,零元

Num = numreplace(num,00

Num = numreplace(num,亿万富翁

如果0结尾的字符串将被删除。

如果(num.lastindexof(零)= = num.length)-(1){

Num = num.substring(0,num.length)-(1);

}

返回num;

}





* mumreplace置换法。

* /

字符串(字符串的字符串numreplace NUM,oldstr,弦纽世达){

当(真){

若要确定指定的字符是否包含。

如果(num.indexof(oldstr)= = 1){

打破;



}

替换字符串。

Num = num.replaceall(oldstr,纽世达);



}

返回字符串后。

返回num;



}



/ * *

* getdecimal获取一个十进制的方法。

* /

字符串getdecimal(String Num){

确定是否包含小数点。

如果(num.indexof(,)= = 1){

返回;

}

Num = num.substring(num.indexof(,)+ 1);

反向字符串。

Num =新StringBuffer(NUM)。反()ToString();

/ /创建一个StringBuffer对象。

StringBuffer温度=新StringBuffer();

连接单元。

为(int i = 0;i < num.length();i++){

Temp.append(str_unit2 {我});

Temp.append(str_number { num.charat(I)- 48 });



}

(Num =温度反向)(ToString); / /替换字符的字符串。

Num = numreplace(num,零角

Num = numreplace(num,零

Num = numreplace(num,零

Num = numreplace(num,00

如果字符串的结尾为0,则将其删除。

If (num.indexOf (zero) ==num.length () -1) {

Num = num.substring(0,num.length)-(1);



}

返回num;

}



}



运行结果:

请输入一笔钱。

八十八千九百八十九分六

bawanba jiubaiba 109元路。