2014-03-03 93 views
-1

是否有任何一行代码可用于计算程序中的位数?我的意思是说,可以在那里引用一个类(例如字符串的String.length),它可以用来计算一个数字中的位数?如何计算no。在java中的数字的位数?

+0

你有什么尝试? –

+0

将int转换为字符串并使用此方法 – Kick

+0

您具有数值(int,long,double,char)还是作为String? –

回答

0
int a = 125846; 
System.out.println("Length is "+String.valueOf(a).length()); 

输出:

Length is 6 
0
int bubba = 56733; 
System.out.println(String.valueOf(bubba).length()); 

输出:5

1
int len = ("" + number).length(); 
+1

我认为这是一个不错的解决方案,有点忽略:) – ktm5124

0

如果你想避免转换为你总是可以这样做将String.valueOf(

5

一个String(并转换为double再换一个int代替):

digits = int(Math.log10(a)) + 1; 

如果您还需要处理负数:

digits = int(Math.log10(Math.abs(a))) + 1; 
// uncomment the following line to count the negative sign as a digit 
// if (a < 0) { digits += 1; } 
+0

+1,因为日志方法比字符串转换速度快大约20倍。 – Danstahr

+1

如果'a'为'0',则需要特殊处理。 –

1

使用

Math.floor(Math.log10(num)) + 1 

的整数。使用

String.valueOf(num).length() 

为别的

0
Integer.toString(19991).length(); 
+0

我将这段代码复制到了我的blueJ上,但它不能编译。 – Niluu

+0

该方法被称为'toString()'。请记住,Java约定是该方法以小写开头,大写的类。 – Christian

+0

错字,对不起。更新。 –