Java中是怎么确定double的长度

如题所述

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 里,小数点同样算作一位,不要忘记去掉!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-26
int最大就能存4个字节呀,double是双精度浮点类型的,共64位,它没有存储限制,浮点类型的包括小数,float类型也和double一样,没有规范它的界限,double(32.5)到底是是多少个字节,你试试转换byte数字试试吧。
第2个回答  2014-10-30
double类型的长度是8个字节,64位
第3个回答  2014-10-30
Java中double必定是8个字节。