All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ibm.icu.number.CurrencyPrecision Maven / Gradle / Ivy

The newest version!
// © 2017 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
package com.ibm.icu.number;

import com.ibm.icu.util.Currency;

/**
 * A class that defines a rounding strategy parameterized by a currency to be used when formatting
 * numbers in NumberFormatter.
 *
 * 

* To create a CurrencyPrecision, use one of the factory methods on Precision. * * @stable ICU 60 * @see NumberFormatter */ public abstract class CurrencyPrecision extends Precision { /* package-private */ CurrencyPrecision() { } /** * Associates a currency with this rounding strategy. * *

* Calling this method is not required, because the currency specified in * unit() or via a CurrencyAmount passed into format(Measure) is automatically applied to currency * rounding strategies. However, this method enables you to override that automatic association. * *

* This method also enables numbers to be formatted using currency rounding rules without explicitly * using a currency format. * * @param currency * The currency to associate with this rounding strategy. * @return A Precision for chaining or passing to the NumberFormatter rounding() setter. * @throws IllegalArgumentException for null Currency * @stable ICU 60 * @see NumberFormatter */ public Precision withCurrency(Currency currency) { if (currency != null) { Precision retval = constructFromCurrency(this, currency); retval.trailingZeroDisplay = trailingZeroDisplay; return retval; } else { throw new IllegalArgumentException("Currency must not be null"); } }; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy