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

来源:互联网 发布:vs2015怎么用c语言 编辑:程序博客网 时间:2024/05/21 03:25

 编写一个程序,输入一个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("零");}}}


0 0
原创粉丝点击