编写类MathTool,该类包含两个数字的精确的加减乘除和四舍五入的静态方法。加的方法头如下:
public double add(double d1, double d2, int scale) //scale代表小数的位数,结果四舍五入。public double add(double d1, double d2) //没有scale,默认值为3。编写用户程序对加减乘除和四舍五入进行测试。
public double add(double d1, double d2, int scale) //scale代表小数的位数,结果四舍五入。public double add(double d1, double d2) //没有scale,默认值为3。编写用户程序对加减乘除和四舍五入进行测试。
解决方案 »
- java jawin jacob学习资料
- JTable如何实现添加、删除、修改表中的数据?
- 如果一个类class A { final int i; } 那么类 class B extends A { } 当中还能不能继承 的包含 i 这个变量呢?
- 请大虾们帮忙,在线等!
- 如何用sun 的j2sdk 同时compile 多个java源文件?
- 简单问题
- 关于InputStream和System.in的疑问
- 关于时间比较的问题
- 为什么我的appletviewer无法显示汉字
- 字符串转换:+-*/()转为add,subtract,multiply,divide
- 小弟求求各位大神帮我解决一道java笔试题
- 请各位大虾帮忙解决一个难题
int temp = 1;
(int)(temp + o.5)
public class Test { public static void main(String[] args) {
System.out.println(add(1.0023D,2.03032,3));
System.out.println(subtract(1.0023D,2.03032,3));
System.out.println(multiply(1.0023D,2.03032,3));
System.out.println(divide(40,3,3));
}
public static double add(double d1, double d2, int scale){
BigDecimal b1 = new BigDecimal(d1);
String totStr = b1.add(new BigDecimal(d2)).toString();
int index = totStr.indexOf(".");
return b1.add(new BigDecimal(d2), new MathContext(scale + index, RoundingMode.HALF_UP)).doubleValue();
}
public static double subtract(double d1, double d2, int scale){
BigDecimal b1 = new BigDecimal(d1);
String totStr = b1.subtract(new BigDecimal(d2)).toString();
int index = totStr.indexOf(".");
return b1.subtract(new BigDecimal(d2), new MathContext(scale + index, RoundingMode.HALF_UP)).doubleValue();
}
public static double multiply(double d1, double d2, int scale){
BigDecimal b1 = new BigDecimal(d1);
String totStr = b1.multiply(new BigDecimal(d2)).toString();
int index = totStr.indexOf(".");
return b1.multiply(new BigDecimal(d2), new MathContext(scale + index, RoundingMode.HALF_UP)).doubleValue();
}
public static double divide(double d1, double d2, int scale){
BigDecimal b1 = new BigDecimal(d1);
return b1.divide(new BigDecimal(d2), scale, RoundingMode.HALF_UP).doubleValue();
}
}