输入一个10000以内的浮点数,然后将该浮点数转化成像读取人民币一样的字符串,打印出来

    xiaoxiao2021-04-13  28

     编写一个程序,输入一个10000以内的浮点数,xxxx.xx或xxxx.x的形式,然后将该浮点数转化成像读取人民币一样的字符串,打印出来,例如:将1006.33转换为壹仟零六元三角三分。

    package mydemo; import java.util.Scanner; /** * 编写一个程序,输入一个10000以内的浮点数,xxxx.xx或xxxx.x的形式,然后将该浮点数转化成 * 像读取人民币一样的字符串,打印出来,例如:将1006.33转换为壹仟零六元三角三分 * * @author trust the process * */ public class Ttp { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入符合要求的浮点数,格式为:(xxxx.xx或者xxxx.x,且首个数字不为0):"); double money = 0.0; money = s.nextDouble(); while(money>=10000.00 || money<1000.00){ System.out.println("格式不正确!请重新输入:"); money = s.nextDouble(); } test(money); } public static void test(double money) { String moneyStr = money + ""; int firstDian = moneyStr.indexOf('.'); int strLength = moneyStr.length(); int letterNum = strLength - (firstDian + 1); if (firstDian == 4) { test3(moneyStr.charAt(0)); System.out.print("仟"); if (moneyStr.charAt(1) == '0' && moneyStr.charAt(2) == '0' && moneyStr.charAt(3) == '0') { } else if (moneyStr.charAt(1) == '0' && moneyStr.charAt(2) == '0') { System.out.print("零"); test3(moneyStr.charAt(3)); } else if (moneyStr.charAt(2) == '0' && moneyStr.charAt(3) == '0') { test3(moneyStr.charAt(1)); System.out.print("佰"); } else if (moneyStr.charAt(1) == '0' && moneyStr.charAt(3) == '0') { System.out.print("零"); test3(moneyStr.charAt(2)); System.out.print("拾"); } else if (moneyStr.charAt(1) == '0') { System.out.print("零"); test3(moneyStr.charAt(2)); System.out.print("拾"); test3(moneyStr.charAt(3)); } else if (moneyStr.charAt(2) == '0') { test3(moneyStr.charAt(1)); System.out.print("佰"); System.out.print("零"); test3(moneyStr.charAt(3)); } else if (moneyStr.charAt(3) == '0') { test3(moneyStr.charAt(1)); System.out.print("佰"); test3(moneyStr.charAt(2)); System.out.print("拾"); } else { test3(moneyStr.charAt(1)); System.out.print("佰"); test3(moneyStr.charAt(2)); System.out.print("拾"); test3(moneyStr.charAt(3)); } System.out.print("元"); } if (strLength == 6) { if (moneyStr.charAt(firstDian + 1) == '0') { System.out.print("整"); } else { System.out.print("零"); test3(moneyStr.charAt(firstDian + 1)); System.out.print("角"); } } else if (strLength > 6) { if (moneyStr.charAt(firstDian + 1) == '0' && moneyStr.charAt(firstDian + 2) == '0') { } else if (moneyStr.charAt(firstDian + 1) == '0') { System.out.print("零"); test3(moneyStr.charAt(firstDian + 2)); System.out.print("分"); }else { test3(moneyStr.charAt(firstDian + 1)); System.out.print("角"); test3(moneyStr.charAt(firstDian + 2)); System.out.print("分"); } } } public static void test3(char myChar) { if (myChar == '1') { System.out.print("壹"); } else if (myChar == '2') { System.out.print("贰"); } else if (myChar == '3') { System.out.print("叁"); } else if (myChar == '4') { System.out.print("肆"); } else if (myChar == '5') { System.out.print("伍"); } else if (myChar == '6') { System.out.print("陆"); } else if (myChar == '7') { System.out.print("柒"); } else if (myChar == '8') { System.out.print("捌"); } else if (myChar == '9') { System.out.print("玖"); } else if (myChar == '0') { System.out.print("零"); } } }

    转载请注明原文地址: https://ju.6miu.com/read-669239.html

    最新回复(0)