float和 double类型在java各是多少位啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了float和 double类型在java各是多少位啊相关的知识,希望对你有一定的参考价值。

Java中的float是32位的,double是64位的。
float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:
float:
1bit(符号位) 8bits(指数位) 23bits(尾数位)
double:
1bit(符号位) 11bits(指数位) 52bits(尾数位)
于是,float的指数范围为-128~+127,而double的指数范围为-1024~+1023,并且指数位是按补码的形式来划分的。float的范围为-2^128 ~ +2^127,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1023,也即-1.79E+308 ~ +1.79E+308。
参考技术A float 32
double 64本回答被提问者采纳

java float类型默认小数点后几位

你好,float,double默认值为0.0;
java中float,double的小数点后面限制位数的方法
我以一个小数点后面保留两位为例:(都是四舍五入)
1.
import Java.text.DecimalFormat;

double x=23.5455;
NumberFormat format1=NumberFormat.getNumberInstance() ;
format1.setMaximumFractionDigits(2);
String s = format1.format(x);
2.
import java.text.DecimalFormat;

DecimalFormat format2 = new DecimalFormat( "0.00 ");
double x=23.5455;
x = Double.parseDouble(format2.format(x));

最近想到第三种方法:
3.下面我以小数点后面两位为例,先扩大100倍进行四舍五入,然后除以100转为double就可以,我喜欢这方法,就可以不用去记住其他方法了。***3位小数为1000,4位则10000
double x=23.5455;
x = (double)Math.round((double)(x*100))/100;
参考技术A 补充一个
System.out.println(String.format("%.2f", 2.056));
System.out.println(String.format("%.2f", 2f));
输出结果:

2.06
2.00
参考技术B 你好,float默认值为0.0,是小数点后一位。

以上是关于float和 double类型在java各是多少位啊的主要内容,如果未能解决你的问题,请参考以下文章

Java中的float精确多少位?

规定int8位,那么char,short,long,float,double各是几位啊???谢谢了~~~

java float类型默认小数点后几位

C语言中的double是最多多少位?

关于java的double类型和float类型

java float跟double类型区别