question: public void testDivideRoundHalfDownNeg ( ) { String a = "-92948782094488478231212478987482988429808779810457634781384756794987" ; int aScale = - 24 ; String b = "7472334223847623782375469293018787918347987234564568" ; int bScale = 13 ; String c = "-1.24390557635720517122423359799284E+53" ; int resScale = - 21 ; BigDecimal aNumber = new BigDecimal ( new BigInteger ( a ) , aScale ) ; BigDecimal bNumber = new BigDecimal ( new BigInteger ( b ) , bScale ) ; BigDecimal result = aNumber . divide ( bNumber , resScale , BigDecimal . ROUND_HALF_DOWN ) ; assertEquals ( "incorrect value" , c , result . toString ( ) ) ; assertEquals ( "incorrect scale" , resScale , result . scale ( ) ) ; }
target:  Divide: rounding mode is ROUND_HALF_DOWN, result is negative; distance = -1