数据类型----(浮点数类型)
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
}
}
本文来自博客园,作者:神奇的梦,转载请注明原文链接:https://www.cnblogs.com/fantasticDream/p/16262069.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程