java中除法结果不对。
2022/8/12 1:25:47
本文主要是介绍java中除法结果不对。,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
java程序中经常会遇到使用double类型来进行运算,今天遇一个非常简单地计算,计算结果居然是不对0,查了一些前辈们的资料动手实验了一下,实验结果和代码分享给大家。需要计算的公式:(7/10)*0.8 结果居然不是0.56 而是 0
最后找到原因(7/10)*0.8 这个公式中 问题出在7/10 两个整数相除,结果只取整数部分所以 7.10的结果是0 所以导致整个计算结果不对。实验结果中还可以看到double类型的精度丢失问题,这个不在这里讨论,百度一下就知道原因了。
代码如下:
public static void main(String[] args) { System.out.println("问题:"+(7/10)*0.8); double money = (7/10)*0.8; System.out.println("精度缺失1:"+money); double money1 = 0.7*0.8; System.out.println("精度缺失2:"+money1); double temp = 7; double money2 = (temp/10)*0.8; System.out.println("精度缺失3:"+money2); double temp1 = 10; double money3 = (7/temp1)*0.8; System.out.println("精度缺失3:"+money3); //两个整数相除 System.out.println("关键的问题1:"+7/10); //两个整数相除 System.out.println("关键的问题2:"+19/10); //两个整数相除 System.out.println("关键的问题3:"+12/10); } 输出的结果如下: 问题:0.0 精度缺失1:0.0 精度缺失2:0.5599999999999999 精度缺失3:0.5599999999999999 精度缺失3:0.5599999999999999 关键的问题1:0 关键的问题2:1 关键的问题3:1
这篇关于java中除法结果不对。的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25JAVA语音识别项目项目实战入门教程
- 2024-11-25JAVA云原生项目实战入门教程
- 2024-11-25Java语音识别项目入门:新手必读指南
- 2024-11-25Java语音识别项目入门:轻松开始你的第一个语音识别项目
- 2024-11-25Java语音识别项目入门详解
- 2024-11-25Java语音识别项目教程:从零开始的详细指南
- 2024-11-25JAVA语音识别项目教程:初学者指南
- 2024-11-25Java语音识别项目教程:初学者指南
- 2024-11-25JAVA云原生入门:新手指南与基础教程
- 2024-11-25Java云原生入门:从零开始的全面指南