当前位置:  开发笔记 > 编程语言 > 正文

不使用String API的数字位数

如何解决《不使用StringAPI的数字位数》经验,为你挑选了1个好方法。

我有一个要求,我需要找到一个整数的位数.我搜索了它并得到了一些技巧.但我也开发了一个我自己的技巧.我只是想知道是否正确的方法来知道整数中的位数.

for (int i = 1; i < 11; i++) {
    if (Math.abs(number) < (j = Math.pow(10, i))) {
        System.out.println("Number of Digits : "+i);
        break;
    }
}

我把11作为限制,因为最大整数是11位数.如果这是正确的方式,请告诉我.

请注意,我没有选择使用任何字符串api.



1> 小智..:

您的解决方案效果不佳.这对于简单的任务来说太复杂了.如果数字更大,那就太慢了.

你应该使用:

String.valueOf(number).length()

简单,易读,可扩展性更好.


请注意,如果"数字"恰好是负数,则将负号视为"数字"; 负号不是数字.
推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有