diff options
Diffstat (limited to 'library/intl/src/Formatter/NumberFormatterInterface.php')
-rw-r--r-- | library/intl/src/Formatter/NumberFormatterInterface.php | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/library/intl/src/Formatter/NumberFormatterInterface.php b/library/intl/src/Formatter/NumberFormatterInterface.php new file mode 100644 index 000000000..721107555 --- /dev/null +++ b/library/intl/src/Formatter/NumberFormatterInterface.php @@ -0,0 +1,134 @@ +<?php + +namespace CommerceGuys\Intl\Formatter; + +use CommerceGuys\Intl\Currency\CurrencyInterface; +use CommerceGuys\Intl\NumberFormat\NumberFormatInterface; + +interface NumberFormatterInterface +{ + /* Format style constants */ + const DECIMAL = 1; + const PERCENT = 2; + const CURRENCY = 3; + const CURRENCY_ACCOUNTING = 4; + + /* Currency display style constants */ + const CURRENCY_DISPLAY_SYMBOL = 1; + const CURRENCY_DISPLAY_CODE = 2; + + /** + * Formats a number. + * + * Please note that the provided value should already be rounded. + * This formatter doesn't do any rounding of its own, and will simply + * truncate extra digits. + * + * @param string $value The value to format. + * + * @return string + */ + public function format($value); + + /** + * Formats a currency value. + * + * Please note that the provided value should already be rounded. + * This formatter doesn't do any rounding of its own, and will simply + * truncate extra digits. + * + * @param string $value The value to format. + * @param CurrencyInterface $currency The currency. + * + * @return string + */ + public function formatCurrency($value, CurrencyInterface $currency); + + /** + * Parses a formatted currency value. + * + * Commonly used in price input widgets where the end-user might + * input a value using digits and symbols common to their locale. + * + * @param string $value The value to parse. + * @param CurrencyInterface $currency The currency. + * + * @return string|false The parsed numeric value or FALSE on error. + */ + public function parseCurrency($value, CurrencyInterface $currency); + + /** + * Gets the number format. + * + * @return NumberFormatInterface + */ + public function getNumberFormat(); + + /** + * Gets the minimum number of fraction digits. + * + * Defaults to 0 for decimal and percentage styles. + * Defaults to null for currency styles, since the currency number of + * fraction digits is used as the default in that case. + * + * @return int + */ + public function getMinimumFractionDigits(); + + /** + * Sets the minimum number of fraction digits. + * + * @param int $minimumFractionDigits + */ + public function setMinimumFractionDigits($minimumFractionDigits); + + /** + * Gets the maximum number of fraction digits. + * + * Defaults to 3 for decimal and percentage styles. + * Defaults to null for currency styles, since the currency number of + * fraction digits is used as the default in that case. + * + * @return int + */ + public function getMaximumFractionDigits(); + + /** + * Sets the maximum number of fraction digits. + * + * @param int $maximumFractionDigits + */ + public function setMaximumFractionDigits($maximumFractionDigits); + + /** + * Returns whether the major digits will be grouped. + * + * @return bool + */ + public function isGroupingUsed(); + + /** + * Sets whether or not major digits should be grouped + * + * @param bool $groupingUsed + */ + public function setGroupingUsed($groupingUsed); + + /** + * Gets the currency display style. + * + * Controls whether a currency amount will be shown with the + * currency symbol (CURRENCY_DISPLAY_SYMBOL) or the + * currency code (CURRENCY_DISPLAY_CODE). + * + * @return int + */ + public function getCurrencyDisplay(); + + /** + * Sets the currency display style. + * + * @param int $currencyDisplay One of the CURRENCY_DISPLAY_ constants. + */ + public function setCurrencyDisplay($currencyDisplay); +} |