java的float数据类型完全不理解?

java的float数据类型完全不理解?,第1张

float f = 83454545.78f

System.out.println(f)

输出8.3454544E7,即8.3454544*10的7次方

这和数值范围为 1.4013E-45 ~ 3.4028E+38不冲突啊,但是float类型就会存在精度丢失的问题,如果你想要的精度无损,建议使用BigDecimal

如:

BigDecimal f = new BigDecimal("3.141592653")

System.out.println(f)

java中的float类型

.浮点类型

1) 与整数类型一样,同样有固定的表述范围和字段长度,且不受具体的 *** 作系统的影响,保证了Java的跨平台性

2) Java语言中,浮点类型有两种表现形式,分别是:

  a. 十进制数形式, 如3.14

  b. 科学计数法,如,3.14e2, 3.14e-2, -3.14E2

3) Java语言中,默认的浮点数类型是double,声明float类型的时候,后面必须添加字母f或者F,如3.14F,3.14f

4) Java中两种浮点类型的表述范围:

float:4字节(32bit),IEEE 754. 取值范围:

[-3.40282346638528860e+38 , -1.40129846432481707e-45] ∪ [1.40129846432481707e-45 ~ 3.40282346638528860e+38] 。

double: 8字节(64bit) ,IEEE 754.  取值范围:

[-1.79769313486231570e+308,-4.94065645841246544e-324] ∪  [4.94065645841246544e-324,1.79769313486231570e+308] 。

扩展资料

基本数据类型的特点,位数,最大值和最小值。

1、

基本类型:short 二进制位数:16

包装类:java.lang.Short

最小值:Short.MIN_VALUE=-32768 (-2的15此方)

最大值:Short.MAX_VALUE=32767 (2的15次方-1)

2、

基本类型:int 二进制位数:32

包装类:java.lang.Integer

最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)

最大值:Integer.MAX_VALUE= 2147483647  (2的31次方-1)

3、

基本类型:long 二进制位数:64

包装类:java.lang.Long

最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)

最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)

4、

基本类型:float 二进制位数:32

包装类:java.lang.Float

最小值:Float.MIN_VALUE=1.4E-45 (2的-149次方)

最大值:Float.MAX_VALUE=3.4028235E38 (2的128次方-1)

5、

基本类型:double 二进制位数:64

包装类:java.lang.Double

最小值:Double.MIN_VALUE=4.9E-324 (2的-1074次方)

最大值:Double.MAX_VALUE=1.7976931348623157E308 (2的1024次方-1)

参考资料:Java官网-Java教程


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9987024.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存