java如何判断数字的位数?

Python015

java如何判断数字的位数?,第1张

按照num/10 语句,不是应该显示 它是个99位数吗?java是如何判断为3位数的?

答 999/10 = 99        此时num = 99  count=1

    99/10=9           此时num = 9  count=2

    9/10=0            此时num = 0  count=3

    一共在while循环里执行了三次, 所以判断是3位数

提示

System.out.println("它是个"+ count+"位的数!") 

这里输出的是count 这个变量,表达的是次数,

不是输出num 这个数,此时num经过循环已经等于0了

用个例子来说明:

 ‍

double d = 345.678

String s = "hello!" 

int i = 1234

//"%"表示进行格式化输出,"%"之后的内容为格式的定义。

System.out.printf("%f",d)//"f"表示格式化输出浮点数。

System.out.printf("%9.2f",d)//"9.2"中的9表示输出的长度,2表示小数点后的位数。

System.out.printf("%+9.2f",d)//"+"表示输出的数带正负号。

System.out.printf("%-9.4f",d)//"-"表示输出的数左对齐(默认为右对齐)。

System.out.printf("%+-9.3f",d)//"+-"表示输出的数带正负号且左对齐。

System.out.printf("%d",i)//"d"表示输出十进制整数

System.out.printf("%o",i)//"o"表示输出八进制整数。

System.out.printf("%x",i)//"d"表示输出十六进制整数。

System.out.printf("%#x",i)//"d"表示输出带有十六进制标志的整数。

System.out.printf("%s",s)//"d"表示输出字符串。

System.out.printf("输出一个浮点数:%f,一个整数:%d,一个字符串:%s",d,i,s)//可以输出多个变量,注意顺序。

System.out.printf("字符串:%2$s,%1$d的十六进制数:%1$#x",i,s)//"X$"表示第几个变量。