4 JAVA 数组的应用 金额变大写

来源:互联网 发布:淘宝联盟鹊桥入口 编辑:程序博客网 时间:2024/05/16 14:03
import java.util.Arrays;/** * 数组的应用-来自《疯狂java》 * @author wjl * @time 2015.02.28 * */public class Rmb {private String[] hanArr={"零","壹","贰","叁","肆","伍","陆","柒","捌", "玖"};    private String[] unitArr={"十","百","千"};    /**     * 把一个浮点数分成整数部分和小数部分字符串     * @param num 需要被分解的浮点数     * @return 分解出来的整数和小数部分 1.整数部分  2.小数部分     */    private String[] divide(double num)    {    //将一个浮点数强制类型转换为long型,即得到整数部分    long zheng=(long)num;    //浮点数减去整数部分,小苏部分乘以100后再取整得到2位小数    long xiao=Math.round((num-zheng)*100);    //下面用了两种方法吧整数转换为字符串    return new String[]{zheng+"",String.valueOf(xiao)};    }    /**     * 把一个四位的数组字符串变成汉子字符串     * @param numStr 需要转换的四位数字字符串     * @return 四位数字字符串转换的汉字字符串     */    private String toHanStr(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]+unitArr[numLen-2-i];    }    else    {    result +=hanArr[num];    }        }        return result;    }public static void main(String[] args) {// TODO Auto-generated method stubRmb nr=new Rmb();//测试把一个浮点数分解成整数部分和小数部分System.out.println(Arrays.toString(nr.divide(2313211.289)));//测试把一个四位的数字字符串变成四位汉字字符串System.out.println(nr.toHanStr("6378"));}}


输出结果:

[2313211, 29]
陆千叁百柒十捌



0 0
原创粉丝点击