欢迎您访问新疆栾骏商贸有限公司,公司主营电子五金轴承产品批发业务!
全国咨询热线: 400-8878-609

新闻资讯

常见问题

java求整数的位数方式

作者:用户投稿2026-01-11 06:19:31
目录
  • 求整数的位数
    • 其一
    • 其二
    • 其三
  • java整数位数判断

    求整数的位数

    一般有几种方法,其一是转成字符串求,缺点是字符串耗时间长;另一种是用Math.log10();用log函数;还有一种用循环除以10的方式求出;最后一种,直接判断<10,<100,<1000,<10000……或许效率挺高吧,因为不需要计算。

    其一

    private static int getNumLenght(long num){
            num = num>0?num:-num;       
            return String.valueOf(num).length();
        }

    其二

    private static int getNumLenght(long num){
            num = num>0?num:-num;       
            if (num==0) {
                return 1;
            }
            return (int) Math.log10(num)+1;
        }

    其三

    private static int getNumLenght(long num){
            if (num==0) {
                return 1;
            }
            int lenght = 0;
            for (long temp = num ; temp != 0; temp/=10){
                lenght++;
            }
            return lenght;
        }

    最后一种老长老长,不写了。

    java整数位数判断

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

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持。