首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

神奇的结果,7.7-7=?解决思路

2012-02-12 
神奇的结果,7.7-7???public class Test{public static void main(String[] args){double a7.7,b7,cca

神奇的结果,7.7-7=???
public class Test{
  public static void main(String[] args){
  double a=7.7,b=7,c;
  c=a-b;
  System.out.println(c);
  }
}


结果等于0.7000000000000002,到底这个2是那来的?为什么得这结果?
我想做计算器,如果计算器算出这个结果就是不对的,但我又不想制这
计算器多少位小数,应该怎么处理?请各位大侠说详细点,谢谢

[解决办法]
这个是计算机 二进制处理数字的原因,论坛上有过详细的帖子 你搜索一下
[解决办法]
float 和 double 等浮点类型计算时经常有0.0000***1的偏差的,我通常是将double转换成BigDecimal进行计算,可以了解下BigDecimal
[解决办法]
double 的精度长,用二进制来处理的,你自己用二进制算,你也会算出这样的结果。
[解决办法]
double float操作 ,需要注意精度的问题

热点排行