JAvaはお金の数を大文字に変換する連絡を実現します


package com.slowly.java;

import java.util.Scanner;


/**
 * Description:
 * <br/>  : <a href="http://www.crazyit.org">  Java  </a>
 * <br/>Copyright (C), 2001-2016, Yeeku.H.Lee
 * <br/>This program is protected by copyright laws.
 * <br/>Program Name:
 * <br/>Date:
 * @author Yeeku.H.Lee [email protected]
 * @version 1.0
 */
public class Num2Rmb02
{
	private String[] hanArr = {" " , " " , " " , " " , " " ,
			" " , " " , " " , " " , " "};
		private String[] unitArr = {" " , " " , " "," ","  ","  ","  "," "," "," "," "," ","  "," "};
		private String[] unitArr1 = {" " , " "};
	/**
	 *                      
	 * @param num          
	 * @return               。            ,            。
	 */
	private String[] divide(double num)
	{
		//              long,         
		int zheng = (int)num;
		//          ,      ,      100      2   
		int xiao = (int) Math.round((num - zheng) * 100);
		//     2            
		return new String[]{zheng + "", String.valueOf(xiao)};
	}

	private int[] toNum(double num)
	{
		int num1 = (int)num;
		Integer zheng = (Integer)num1;
		//String s1 = zheng.toString();
		//Integer numk1 = (int) (zheng%10000);//       
		String s1 = zheng.toString();
		int numLen1 = s1.length();
		int[] numarry = new int[numLen1];
		for(int i=0;i<numLen1;i++)
		{
			numarry[i] = s1.charAt(i) - 48;
			
			//numarry[0][i]=numarry1[i];
			//System.out.println(numarry[i]);
		}
		return numarry;
	}
	/**
	 *                   
	 * @param numStr               
	 * @return                   。
	 */
	private String toHanStr(int[] numarry)
	{
		String result = "";
		int numLen = numarry.length;
		//                
		for (int i = 0 ; i < numLen ; i++ )
		{
			//  char       int   ,     ASCII      48
			//    char     48  int   ,  '4'    4。
		//	int num = numarry.charAt(i) - 48;
			//           ,       ,       ( 、 、 )
			if ( i != numLen - 1&& numarry[i]!= 0 )
			{
				result += hanArr[numarry[i]] + unitArr[numLen - 2 - i];
			}
			else if (i>0 )
				
			{
				if ((numarry[i]==0)&&(numarry[i-1]==0) )
				{
					//result +="";
				}
				
			}
			else if(i == numLen - 1&& numarry[i]== 0 )
			{
				
			}
			//         
			else
			{
				result += hanArr[numarry[i]];
			}
		}
		return result;
	}
	
	
	private String toHanStr1(String numStr)
	{
		String result = "";
		int numLen = numStr.length();
		//                
		for (int i = 0 ; i < numLen ; i++ )
		{
			//  char       int   ,     ASCII      48
			//    char     48  int   ,  '4'    4。
			int num = numStr.charAt(i) - 48;
			//           ,       ,       ( 、 、 )
			if ( i != numLen - 1 && num != 0)
			{
				result += hanArr[num] + unitArr1[numLen - 1 - i];
			}
			//         
			else
			{
				result += hanArr[num];
			}
		}
		return result+" ";
	}

    public static void main(String[] args)
    {
    	System.out.println("         :");
    	@SuppressWarnings("resource")
		Scanner in = new Scanner(System.in);
    	Double inmun = in.nextDouble();
		Num2Rmb02 nr = new Num2Rmb02();
		//                     
		//System.out.println(Arrays.toString(nr.divide(236711125.123)));
		//                     
		System.out.print(nr.toHanStr(nr.toNum(inmun))+" ");
		System.out.print(nr.toHanStr1(nr.divide(inmun)[1]));
		//System.out.println(nr.toHanStr("100"));
    }
}