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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class Test11 {

        public static String[] cn={"仟","佰","拾","亿","仟","佰","拾","万","仟","佰","拾","圆整"};
        public static String[] number={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
        public static String getString(long n)
        {
        String money=""+n;
        if(money.length()>cn.length)
        return "钱太多";
        String str="";
        for(int i=0;i<money.length();i++)
        str+=number[Integer.parseInt(""+money.charAt(i))]+cn[cn.length-money.length()+i];
        return str;
        }
        public static void main(String[] args) {
        System.out.print(getString(101000001010));//这里传的数应该在long类型的范围内啊,但总是报错说超过了范围
        }
        }

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

4 个回复

倒序浏览
在数字后面加个l(小写的L)或者L就可以了,当使用一个超出int类型范围的整数时,系统不会自动把他当作long来处理,需要在后面加上l或L后缀!

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
张贺 发表于 2014-3-15 19:20
在数字后面加个l(小写的L)或者L就可以了,当使用一个超出int类型范围的整数时,系统不会自动把他当作long ...

如果不在数字后面加L,那么可以通过其他方式解决吗
回复 使用道具 举报
明天你好 发表于 2014-3-15 19:59
如果不在数字后面加L,那么可以通过其他方式解决吗

如果是直接使用数字,我不知道,别的话,还可以使用字符串,然后进行类型转换!
回复 使用道具 举报
直接定义一个数字的时候会默认当做int型来处理,想转成long型就在数字后面加个L吧,这种方式没什么不好,传智播客老师都这样写
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马