A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class Test10 {
       
        //创建一个字符数组,存放中文数字
        private static final char[] data = new char[] { '零', '壹', '贰', '叁', '肆',
                        '伍', '陆', '柒', '捌', '玖' };
       
        //创建一个字符数组存放单位
        private static final char[] units = new char[] { '元', '拾', '佰', '仟', '万',
                        '拾', '佰', '仟', '亿', '拾' };

        public static void main(String[] args) {

                System.out.println(convert(1070080009));
        }

        private static String convert(int money) {
               
                //创建一个字符串缓冲区
                StringBuffer sbf = new StringBuffer();
               
//                定义一个int类型变量作为索引
                int unit = 0;
                while (money != 0) {
                       
                        //当传入的数字不为零时,就把中文数组插入到指定位置
                        sbf.insert(0, units[unit++]);
                       
                        //获得一个number变量
                        int number = money % 10;
                       
                        //把number作为字符数组索引,插入到缓冲区指定位置
                        sbf.insert(0, data[number]);
                        money /= 10;
                }
               
                //用零对前面的值进行替换,再返回toString方法
                return sbf.toString().replaceAll("零[拾佰仟]", "零").replaceAll("零+万", "万")
                                .replaceAll("零+元", "元").replaceAll("零+", "零");
        }

}
我在网上找到一个比较简单的方法,while里面的代码我不清楚具体是什么意思,求大神看一下,很急 啊

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马