int x=a 就是给变量 x 定义了 int 的类型,a 就是这个变量的值,它是以
二进制存储的,例如数字 2在 Java
虚拟机中存储为 0000 0010。
double 是一个
浮点数的变量定义,为 64 位(bit),一个 double 型的数字变量,长度同样是有限的,然而由于 double 变量不是用二进制来存储的,所以也没有多少人明白 double 类型变量的小数部分是怎样存储在虚拟机中的。你可以试着用 System.out.println 的方式在命令中打印出两个double 变量 0.1+0.2 的和,结果为 0.3000.....4,这就是它不用二进制的方式存储造成的结果。
如果你想确定的是一个数的长度(位数),我不知道 getLength 这个方法对数字有没有作用,如果没有的话就转变成 String 的变量,再使用 getLength 的方法确定长度。
double n=0.1234567;
String N=Double.parseDouble(n);
这样 N 这个变量就绝对能确定长度了,但是要注意的是,在 String 里,小数点同样算作一位,不要忘记去掉!