龙空技术网

详解java中float与double的区别

梅子抱福 180

前言:

现时兄弟们对“javadoubletofloat”大约比较关切,小伙伴们都想要知道一些“javadoubletofloat”的相关资讯。那么小编也在网摘上汇集了一些关于“javadoubletofloat””的相关内容,希望看官们能喜欢,各位老铁们快快来学习一下吧!

float是单精度类型,精度是8位有效数字,取值范围是10的-38次方到10的38次方,float占用4个字节的存储空间

double是双精度类型,精度是17位有效数字,取值范围是10的-308次方到10的308次方,double占用8个字节的存储空间

当你不声明的时候,默认小数都用double来表示,所以如果要用float的话,则应该在其后加上f

例如:float a=1.3;

则会提示不能将double转化成float 这成为窄型转化

如果要用float来修饰的话,则应该使用float a=1.3f

注意float是8位有效数字,第7位数字将会产生四舍五入

所以如果一个float变量 这样定义: float a=1.32344435; 则第7位将产生四舍五入(5及5以下的都将舍去)

1.两个在定义时的区别

1)float型 内存分配4个字节,占32位,范围从10^-38到10^38 和 -10^38到-10^-38

例float x=123.456f,y=2e20f; 注意float型定义的数据末尾必须有"f"或"F",为了和double区别

(2)double型 内存分配8个字节,范围从10^-308到10^308 和 -10^-308到-10^-308

例double x=1234567.98,y=8980.09d; 末尾可以有"d"也可以不写

标签: #javadoubletofloat #float型占几位