fantasticDream

数据类型----(浮点数类型)

 Float类型又被称为单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求.

double表示这种类型的数值精度是float类型的两倍,又被成为双精度,绝大部分应用程序都采用double类型

java浮点类型常量有两种表示形式

十进制数形式,例如:

3.14    314.0   0.314

科学计数法形式,:

3.14e2   314E2 314E-2

Double f=314e2; //314*10^2 -->31400.0

Double F2=314e-2; // 314*10^(-2) -->3.14

浮点类型默认为double类型,要将其变为float类型,需要在后面增加F/f. 3.14F

 使用总结:

默认是double

浮点数存在含入误差,很多数字不是精确表示,如果需要进行不产生含入误差的精确数字计算,需要使用bigdecimal .

bigdecimal(可以表示大"小数")

BigInteger(可以表示大整数) 

 

 最好避免比较中的使用浮点数.

类型:

Float 占用存储空间4字节  表数范围 E 10    -3.403E38~3.403E38

Double 占用存储空间8字节 表数范围 -1.798E308~1.798E308

Float f=0.1F;

Double d=1.0/10;

System.out.println(f==d);  //false

// 测试浮点数
// 浮点数并不能表示处所有的小数,它是有舍入误差的
public class TestFloatType {
    public static void main(String[] args) {
        // 浮点数常量默认类型是double
        /*
         * Float 占用存储空间4字节
         * Double 占用存储空间8字节
         */
        // double d = 3.14;
        // 把8个字节放到4个字节里面有可能损失精度
        // 浮点类型默认为double类型,要将其变为float类型,需要在后面增加F/f.
        // float f=6.28F;
        // 科学计数法
        // 采用科学计数法的写法
        double d2 = 314e-2;
        System.out.println(d2);
        float f = 0.1F;
        double d = 1.0 / 10;
        /* long的字节数为8,可以表述很大的数,但是如果不够用可以使用BigInteger(可以表示大整数) */
        /*
         * 浮点数存在含入误差,很多数字不是精确表示,如果需要进行不产生含入误差的精确数字计算,需要使用bigdecimal 类.
         * 最好避免比较中的使用浮点数.
         */
        // bigdecimal(可以表示大"小数")
        System.out.println(f == d);// false
    }
}

posted on   神奇的梦  阅读(232)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示