2020-10-14

#java把银行账户存款金额转换为中文大写汉字输出
public class RMB {
static int sign = 0; //标记每四位是否打印零 //每四位打印一次
public static void printReasult(long num) {
String str = “零壹贰叁肆伍陆柒捌玖”; int[] a = new int[4];
a[0] = (int)num % 10;
a[1] = (int) num % 100 / 10;
a[2] = (int) num % 1000 / 100;
a[3] = (int)num / 1000;
//每四位的千位
switch(a[3])
{ case 0:
if(sign == 1 && (a[2] != 0 || a[1] != 0 || a[0] != 0))
System.out.print(“零”);
break;
default:
System.out.print(str.charAt(a[3]) + “仟”); break; }
//每四位的百位
switch(a[2])
{ case 0:
if(a[3] != 0 && (a[1] != 0 || a[0] != 0)) System.out.print(“零”);
break;
default: System.out.print(str.charAt(a[2]) + “佰”); break; }
//每四位的十位
switch(a[1])
{ case 0:
if(a[2] != 0 && a[0] != 0) System.out.print(“零”);
break;
default: System.out.print(str.charAt(a[1]) + “拾”); break; }
//每四位的个位
switch(a[0])
{ case 0:
break;
default: System.out.print(str.charAt(a[0]) ); break;
}
} //将数每四位分成一组 public static String toString(double x) {
long intPart = (long)x;
double douPart = x - intPart; long temp = intPart;
if(intPart >= 100000000) { sign = 0;
toString(temp / 100000000); System.out.print(“亿”);
sign = 1;
toString(temp / 10000 % 10000); System.out.print(“万”); }
else if(intPart >= 10000)
{ sign = 0; toString(temp / 10000); System.out.print(“万”); sign = 1; } long num = intPart % 10000; printReasult(num); return null; } public static void main(String[] args)
{ // TODO Auto-generated method stub
double x =Double.parseDouble(args[0]); toString(x);
//打印整数部分
String str = “零壹贰叁肆伍陆柒捌玖”; if((long)x != 0) System.out.print(“圆”); if((long)x == 0 && x == 0) System.out.print(“零圆”);
if(x == (long)x) System.out.print(“整”);
//打印角分
if(x != (long)x)
{
int numFrac = (int)((x - (long)x) * 100); int a[] = new int[2];
a[1] = numFrac / 10;
a[0] = numFrac % 10;
if(a[0] != 0 && a[1] != 0) System.out.print(str.charAt(a[1]) + “角” + str.charAt(a[0]) + “分”);
else if(a[0] == 0)
System.out.print(str.charAt(a[1]) + “角”); else if(a[1] == 0) System.out.print(“零” + str.charAt(a[0]) + “分”); } } }


版权声明:本文为weixin_50654857原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>