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]) + “分”); } } }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半是蜜糖半是脂肪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值