package com;public class AreaTest {
public static void main(String[] args) {
double a=1.9;
double b=0.3;
double c=2*(a+b);
System.out.println(c);
}
}为什么输出的结果是4.3999999999999995
而将a,b,c换成float类型,结果才是4.4
public static void main(String[] args) {
double a=1.9;
double b=0.3;
double c=2*(a+b);
System.out.println(c);
}
}为什么输出的结果是4.3999999999999995
而将a,b,c换成float类型,结果才是4.4
解决方案 »
- 关于线程的小问题,求解释,谢谢!!
- 一个操作日志问题
- JAVA连接另一台局域网的ORACLE数据库
- java怎样截取或者叫触发ie页面上rul和按钮的事件
- applet 向jsp传递参数的问题 如何监听变量的变化 applet.policy的设置 问题比较多!把我的所有分都 给上 ,解决问题就给分。
- 怎么用java程序下载pdf文档
- 遇到奇怪的问题,不明白,请大家帮忙看看.
- .jar是什么文件呀,怎么弄出来的?谢谢
- java如何调用VC写的DLL?
- String里面本来就是字节数,怎么转换为byte
- 一个很基础的String数组初始化的问题
- 自定义标签问题--标签嵌套问题--编译正确,结果不对
对于浮点之间的运算,大部分都能得到你所期望的结果,当然也有例外(你说的那个也算一个),特别是
在商业运算中为了精确,浮点数之间的运算最好都使用BigDeciaml来实现