楼主的标题好吸引眼球啊
不过问题倒是不大
其实这不是什么诡异的事情,java里面就是这样的啊
i/j的时候结果就是i,j当中的最高精度的数据类型,所以这里是double
double的默认数据精度就是这么多位的,所以就是这个结果啦
要想处理请使用java.text.NumberFormat类来控制精度
不过问题倒是不大
其实这不是什么诡异的事情,java里面就是这样的啊
i/j的时候结果就是i,j当中的最高精度的数据类型,所以这里是double
double的默认数据精度就是这么多位的,所以就是这个结果啦
要想处理请使用java.text.NumberFormat类来控制精度
以下摘录之《高质量C/C++编程指南》const float EPSINON = 0.00001;if ((x >= - EPSINON) && (x <= EPSINON)不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。
如果按照一般的二进制的做法是不可能出现正常的结果的.
这是由于计算机的二进制的存储造成的.
!!!
呵呵.. 学学计算机原理