code: public int getMinorPart() {
          int cdp = getCurrencyUnit().getDecimalPlaces();
          return amount.setScale(cdp, RoundingMode.DOWN)
                      .remainder(BigDecimal.ONE)
                      .movePointRight(cdp).intValueExact();
      }
docs: Gets the minor part of the amount.
  <p>
  This return the minor unit part of the monetary amount.
  This is defined as the amount in minor units excluding major units.
  <p>
  For example, EUR has a scale of 2, so the minor part is always between 0 and 99
  for positive amounts, and 0 and -99 for negative amounts.
  Thus 'EUR 2.35' will return 35, and 'EUR -1.34' will return -34.
  
  @return the minor part of the amount, negative if the amount is negative