code: public void setRoundingIncrement(double newValue) {
          if (newValue < 0.0) {
              throw new IllegalArgumentException("Illegal rounding increment");
          }
          if (newValue == 0.0d) {
              setInternalRoundingIncrement((BigDecimal) null);
          } else {
              // Should use BigDecimal#valueOf(double) instead of constructor
              // to avoid the double precision problem.
              setInternalRoundingIncrement(BigDecimal.valueOf(newValue));
          }
          resetActualRounding();
      }
docs: <strong>[icu]</strong> Sets the rounding increment. In the absence of a rounding increment, numbers
  will be rounded to the number of digits displayed.
  
  @param newValue A positive rounding increment, or 0.0 to use the default
  rounding increment.
  @throws IllegalArgumentException if <code>newValue</code> is &lt; 0.0
  @see #getRoundingIncrement
  @see #getRoundingMode
  @see #setRoundingMode