问答详情
源自:2-6 Java中的数据类型

小白求助java初级问题:变量类型

浮点类型中,float为单精度浮点,double为双精度浮点;都是为储存小数而命名使用,两者的区别在哪里?如何更好理解,float在使用时数值可以添加字母,why?double不行吗?

提问者:後背甜芯 2018-06-22 22:44

个回答

  • Youdeserver
    2018-06-23 07:22:05
    已采纳

    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以下的都将舍去)   


    转载至http://www.360doc.com/content/17/0501/18/42534750_650101155.shtml