不管用不用求绝对值都有问题。
package pool;public class DBConnectionManager {
public static void main(String[] args) {
double a1 = 1.0;
double a2 = 2.2;
double a3 = a2-a1;
System.out.println(a3);
//double s = 1.2345;
//double d = 123.4325; double s = 1.42;
double d = 123.23;
double o = 0;
o = java.lang.Math.abs(d - s);
System.out.println(o); }
}
这是我的代码,大家运行看看问题比较大啊。结果很奇怪的。
package pool;public class DBConnectionManager {
public static void main(String[] args) {
double a1 = 1.0;
double a2 = 2.2;
double a3 = a2-a1;
System.out.println(a3);
//double s = 1.2345;
//double d = 123.4325; double s = 1.42;
double d = 123.23;
double o = 0;
o = java.lang.Math.abs(d - s);
System.out.println(o); }
}
这是我的代码,大家运行看看问题比较大啊。结果很奇怪的。
121.81
Press any key to continue...
要精确用bigdis.. 忘怎么拼了... ------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
要精确用bigdis.. 忘怎么拼了...double s = 1.42;
double d = 123.23;
double o = 0;
o = java.lang.Math.abs(d - s);
System.out.println(o);
怎么它的值是正确的呢?
而我的:
WCZBX=1000*java.lang.Math.abs(tCoordinateX-ttCoordinateX);
我的问题是:
tCoordinateX、ttCoordinateX的值都是正常double型的数值
tCoordinateX-ttCoordinateX后的值不正常了
算出来的却出现的是与double a1 = 1.0;
double a2 = 2.2;
double a3 = a2-a1;
System.out.println(a3);
一样的结果?
double a1 = 1.0;
double a2 = 2.2;
double a3 = a2-a1;
/********************************************************************************/
String formatString = "###.######";
java.text.DecimalFormat decimalformat = new java.text.DecimalFormat(formatString);
System.out.println(decimalformat.format(a3));
/*******************************************************************************/
试试使用decimalformat.format方法应该可以解决你的问题?可以自己设置精度;