/** * Round the value at the requested place, propagating any carry backward. * * @param digits */ private void roundValue(StringBuilder digits) { // TODO(jat): other rounding modes? if (digitsLength > decimalPosition + maximumFractionDigits && digits.charAt(decimalPosition + maximumFractionDigits) >= '5') { int i = decimalPosition + maximumFractionDigits - 1; propagateCarry(digits, i); } } }
if (preRound > 0 && preRound < buf.length() && buf.charAt(preRound) == '9') { propagateCarry(buf, preRound - 1); scale += buf.length() - preRound; buf.delete(preRound, buf.length());
/** * Round the value at the requested place, propagating any carry backward. * * @param digits */ private void roundValue(StringBuilder digits) { // TODO(jat): other rounding modes? if (digitsLength > decimalPosition + maximumFractionDigits && digits.charAt(decimalPosition + maximumFractionDigits) >= '5') { int i = decimalPosition + maximumFractionDigits - 1; propagateCarry(digits, i); } } }
/** * Round the value at the requested place, propagating any carry backward. * * @param digits */ private void roundValue(StringBuilder digits) { // TODO(jat): other rounding modes? if (digitsLength > decimalPosition + maximumFractionDigits && digits.charAt(decimalPosition + maximumFractionDigits) >= '5') { int i = decimalPosition + maximumFractionDigits - 1; propagateCarry(digits, i); } } }
if (preRound > 0 && preRound < buf.length() && buf.charAt(preRound) == '9') { propagateCarry(buf, preRound - 1); scale += buf.length() - preRound; buf.delete(preRound, buf.length());
if (preRound > 0 && preRound < buf.length() && buf.charAt(preRound) == '9') { propagateCarry(buf, preRound - 1); scale += buf.length() - preRound; buf.delete(preRound, buf.length());