当前位置: 首页 > news >正文

java中的浮点数计算

在java语言中无法精确计算浮点数,例如:
float a1,a2;
System.out.println("请输入两个浮点数:");
Scanner sc=new Scanner(System.in);
a1=sc.nextFloat();
a2=sc.nextFloat();
System.out.println("这两个浮点数的和是:");
System.out.println(a1+a2);
sc.close();
这串代码输入0.01和0.05
输出结果是一个近似于0.06的值,并不是0.06

要想解决,可以用以下的方法:
1.自己的思路:利用以前提到过的高精度数的计算方式,可以实现。不过缺点很明显,只能够计算小数点后位数不多的情况,不过应对目前所学应该够用

2.利用java中自带的类BigDecimal:
实现代码如下:
BigDecimal num1=new BigDecimal("0.01");
BigDecimal num2=new BigDecimal("0.05");
//由于BigDecimal是个类,所以不能直接用算术运算符+,不过能用类中自带的成员函数
System.out.println(num1.add(num2));
这样就能够避免浮点数运算时的精度丢失问题。

http://www.rkmt.cn/news/9941.html

相关文章:

  • XYCTF2025复现(WEB)
  • 发布/订阅(Publish/Subscribe)与交换机(Exchange)
  • 线性结构之链表
  • lc1033-移动石子直到连续
  • 同构系统与异构系统深度对比分析
  • # Redis内存管理与过期策略深度解析
  • 北京 意大利学签 北京意大利签证中心 贵宾 vip vfs
  • 第1周
  • 多商家在线客服系统 - 客服用户表设计方案
  • 使用python读取windows注册表
  • 当日总结
  • 3123004481
  • 使用python读取windows日志表
  • 9.20 模拟赛 T4
  • Русский язык
  • 【F#学习】布尔运算优先级
  • 深入解析:【Spark+Hive+hadoop】基于spark+hadoop基于大数据的人口普查收入数据分析与可视化系统
  • 【本地音乐库】的搭建管理工具推荐
  • 扭曲变形验证码的图像处理与识别思路
  • AI 写代码 “翻车”?人类程序员 “偷笑”?AI能应对我们的问题吗?人工智能到底是“智能”还是“人工”?真相有点意思!
  • 详细介绍:C 语言内存操作函数:memcpy、memmove、memset、memcmp 详解
  • springboot 整合Redis实现发布/订阅功能
  • CCPC online 2025题解 ( A~H+K)
  • Java REST API 三层架构项目目录规划与使用建议
  • 9.22每日总结
  • c++ 线程 单例模式
  • 【51单片机】【protues仿真】基于51单片机PM2.5温湿度测量蓝牙架构
  • 【炼石计划NOIP】第八套 赛后总结
  • vite7-webos网页版os管理|Vue3+Vite7+ArcoDesign搭建pc端os后台系统
  • python_Day22笔记