浮点数转换为人民币读法

浮点数转换为人民币读法


package test2;

import java.util.Scanner;

/**
 * 浮点数转人民币读法
 *
 */
public class T6 {
	
	
	public static void main(String[] args) {
		
		String[] hanArr = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "染", "捌", "玖"};
		String[] unitArr = {"", "十", "百", "千", "万", "十万"};
		
		Scanner input = new Scanner(System.in);
		double num = input.nextDouble();
		
		int zheng = (int)num;
		long xiao = Math.round(((num - zheng) * 100));
		String[] str = new String[]{String.valueOf(zheng), String.valueOf(xiao)};
		
		System.out.println("整数部分为:" + str[0] + ",小数部分为:" + str[1]);
		
		String result = "";
		for(int i = 0; i < str[0].length(); i++){
			String str1 = str[0].substring(i, i + 1);
			if(i != 0){
				// 获取前一个值前判断是不是为0
				String leftNum = str[0].substring(i-1, i);
				if(!leftNum.equals("0") && !str1.equals("0")){
					result += (hanArr[Integer.valueOf(str1)] + unitArr[str[0].length() - i - 1]);
				}else if(!leftNum.equals("0") && str1.equals("0")){
					result += "零";
				}else if(leftNum.equals("0") && !str1.equals("0")){
					result += (hanArr[Integer.valueOf(str1)] + unitArr[str[0].length() - i - 1]);
				}
			}else{
				result += (hanArr[Integer.valueOf(str1)] + unitArr[str[0].length() - i - 1]);
			}
		}
		/**
		 * 循环遍历小数部分
		 * @param args
		 */
			String result2 = "";
			for(int i = 0; i < str[1].length(); i++){
				String str2 = str[1].substring(i, i + 1);
				if(i == 0 && !str2.equals("0")){
					result2 += (hanArr[Integer.valueOf(str2)] + "角");
				}else if(i == 1 && !str2.equals("0")){
					result2 += (hanArr[Integer.valueOf(str2)] + "分");
				}
			}
		System.out.println("最后转换的结果为:" + result + "点" + result2);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值