输入一个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
- 输入一个10000以内的浮点数,然后将该浮点数转化成像读取人民币一样的字符串,打印出来
- 输入一个浮点数,打印出相对应的人民币读法的字符串,如:1605.22转换后为:壹仟陆佰零伍元贰角贰分
- 将浮点数转化为人民币读法字符串
- 将浮点数转成人民币读法字符串
- 关于打印浮点数的一个问题
- 将一个浮点数,转换为指定格式的字符串
- 将字符串转化为浮点数
- 把一个字符串转化成浮点数
- 将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
- 将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数
- 将一个数字字符串转换成这个字符串对应的数字包括正浮点数、负浮点数)
- C 将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
- 将一个字符串转换为浮点数
- C/C++浮点数的存储方式,以及实现一个ftoa函数将浮点数转换为字符串
- 浮点数转化为字符串
- 浮点数转化为字符串
- C++ 浮点数和字符串之间的转化
- 浮点数的输入以及浮点数运算
- ZOJ 3775 ?(>_o)!
- jsp界面写入数据库时中文乱码(sql语句执行中文乱码)解决办法
- php验证码之汉字验证
- 详细了解 int? 类型
- 第七周作业1(LeetCode9)
- 输入一个10000以内的浮点数,然后将该浮点数转化成像读取人民币一样的字符串,打印出来
- 欢迎使用CSDN-markdown编辑器
- 汇编写启动代码413
- 凯撒密码,简单的加密
- Leetcode 1. Two Sum
- 【Unity3D】Helloworld
- MyISAM表的存储格式---行格式
- I2S信号
- nodejs和C语言插入mysql数据库乱码问题