快速判断一个int值是几位数

快速判断一个int值是几位数

判断一个int值是几位数,想到除法和模运算了,偶然在Java标准API源码中发现的写法,很强大。

文艺青年(存在Integer包中)

public class Test {    
    final static int[] sizeTable = { 9, 99, 999, 9999, 99999, 999999, 9999999,    
            99999999, 999999999, Integer.MAX_VALUE };    
    static int sizeOfInt(int x) {    
        for (int i = 0;; i++)    
            if (x <= sizeTable[i])    
                return i + 1;    
    }    
    public static void main(String[] args) {    
        System.out.println(sizeOfInt(1234));    
        System.out.println(sizeOfInt(123));    
        System.out.println(sizeOfInt(12345));    
        System.out.println(sizeOfInt(12));    
    }    
}  

懒汉青年

public class java_19 {

    public static void main(String[] args) 
    {
        System.out.print(length(287785));
    }
    
    public static int length(int number)
    {
        int length = (number + " ").length();
        return length;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容