public static MonetaryRounding getRounding(CurrencyUnit currencyUnit, String... providers) {
        return Optional.ofNullable(monetaryRoundingsSingletonSpi()).orElseThrow(
                () -> new MonetaryException("No MonetaryRoundingsSpi loaded, query functionality is not available."))
                .getRounding(currencyUnit, providers);
    }
public static MonetaryRounding getRounding ( CurrencyUnit currencyUnit , String ... providers ) { return Optional . ofNullable ( monetaryRoundingsSingletonSpi ( ) ) . orElseThrow ( ( ) -> new MonetaryException ( "No MonetaryRoundingsSpi loaded, query functionality is not available." ) ) . getRounding ( currencyUnit , providers ) ; }
Creates an {@link MonetaryOperator} for rounding {@link MonetaryAmount}
instances given a currency.

@param currencyUnit The currency, which determines the required scale. As
{@link java.math.RoundingMode}, by default, {@link java.math.RoundingMode#HALF_UP}
is used.
@param providers    the providers and ordering to be used. By default providers and ordering as defined in
#getDefaultProviders is used.
@return a new instance {@link MonetaryOperator} implementing the
rounding, never {@code null}.