在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元路。