question: private boolean checkForCarry ( final char [ ] ca1 , final int icarry ) { boolean carry = false ; if ( icarry < ca1 . length ) { if ( ca1 [ icarry ] == '6' || ca1 [ icarry ] == '7' || ca1 [ icarry ] == '8' || ca1 [ icarry ] == '9' ) { carry = true ; } else if ( ca1 [ icarry ] == '5' ) { int ii = icarry + 1 ; for ( ; ii < ca1 . length ; ii ++ ) { if ( ca1 [ ii ] != '0' ) { break ; } } carry = ii < ca1 . length ; if ( ! carry && icarry > 0 ) { carry = ( ca1 [ icarry - 1 ] == '1' || ca1 [ icarry - 1 ] == '3' || ca1 [ icarry - 1 ] == '5' || ca1 [ icarry - 1 ] == '7' || ca1 [ icarry - 1 ] == '9' ) ; } } } return carry ; }
target:  Check to see if the digits that are going to be truncated because of the precision should force a round in the preceding digits.