BigDecimal.divide可以使用一个BigDecimal参数么?好像没有吧。
java.math.BigDecimal.divide(java.math.BigDecimal, int) 
java.math.BigDecimal.divide(java.math.BigDecimal, int, int)

解决方案 »

  1.   

    BigDecimal.divide可以使用一个BigDecimal参数!!!
    只是它的格式为:
    java.math.BigDecimal.divide(java.math.BigDecimal, int)
      

  2.   

    java.math.BigDecimal.divide(java.math.BigDecimal, int)
    int:舍入方式,BigDecimal.ROUND_HALF_UP为四舍五入
      

  3.   

    arithmetic exception by zero 指的是一个运算错误,不过你的BigDecimal.divide的使用也有问题
      

  4.   

    t2 =c.subtract( t2.divide(b, 6));
     t2 =0.0;做分母抛的错。
      

  5.   

    当然前面要改:
    class P4
    {
    public static void main(String [] args)
    {
    BigDecimal a = new BigDecimal("41869520.5");
    BigDecimal b = new BigDecimal("64919121.0");
    BigDecimal c = new BigDecimal("102558961.0");
    BigDecimal d = new BigDecimal("159018721.0");
    BigDecimal x = null;
    BigDecimal y = null; BigDecimal t1 = a.divide(b, 6);//---运行错误为arithmetic exception
    System.out.println("t1=" + t1);
    BigDecimal t2 = a.multiply(d);
    System.out.println("t2=" + t2);
    t2 =c.subtract( t2.divide(b, 6));
    System.out.println("t2=" + t2);
    y = t1.divide(t2, 2);
            System.out.println(y);
            
    x = y.multiply(c.divide(a, 2));
    System.out.println(x);

    }
    }
    然后解决t2 =c.subtract( t2.divide(b, 6));为零的问题。
      

  6.   

    rower203(华仔) 大大,你该过的这个代码仍然出现零的错误,是在y = t1.divide(t2, 2);这一行,这个问题到底应该怎么解决呢?