关于Java两个浮点型数字加减乘除的问题
更新时间:2024年10月24日 14:34:12 作者:小手cool
由于浮点数在计算机中是以二进制表示的,直接进行加减乘除运算会出现精度误差,想要得到精确结果,应使用BigDecimal类进行运算
Java两个浮点型数字加减乘除
public static void main(String[] args) {
double a=1.8;
double b=1.4;
System.out.println("a+b="+(a+b));
System.out.println("a-b="+(a-b));
System.out.println("a*b="+a*b);
System.out.println("a/b="+a/b);
}
出来的结果

因为浮点数值采用二进制系统表示的
运算时会将这些十进制转换成二进制的
再由二进制规格化后计算得来的结果
想要得到精确的运算结果可以使用BigDecimal
//加
BigDecimal a1 = new BigDecimal(Double.toString(a));
BigDecimal a2 = new BigDecimal(Double.toString(b));
System.out.println("a+b="+a1.add(a2).doubleValue());
//减
System.out.println("a-b="+a1.subtract(a2).doubleValue());
//乘
System.out.println("a*b="+a1.multiply(a2).doubleValue());
//除
System.out.println("a/b="+a1.divide(a2).doubleValue());
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring Data JPA+kkpager实现分页功能实例
本篇文章主要介绍了Spring Data JPA+kkpager实现分页功能实例,具有一定的参考价值,有兴趣的可以了解一下2017-06-06
基于Mybatis-Plus拦截器实现MySQL数据加解密的示例代码
用户的一些敏感数据,例如手机号、邮箱、身份证等信息,在数据库以明文存储时会存在数据泄露的风险,因此需要进行加密,解密等功能,接下来本文就给大家介绍基于Mybatis-Plus拦截器实现MySQL数据加解密,需要的朋友可以参考下2023-07-07
Spring Cloud 部署时使用 Kubernetes 作为注册中心和配置中
Spring Cloud Kubernetes提供了使用Kubernete本地服务的Spring Cloud通用接口实现,这篇文章主要介绍了Spring Cloud 部署时如何使用 Kubernetes 作为注册中心和配置中心,需要的朋友可以参考下2024-05-05


最新评论