ucurr.h
Go to the documentation of this file.
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/*
**********************************************************************
* Copyright (c) 2002-2016, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
*/
#ifndef _UCURR_H_
#define _UCURR_H_
#include "unicode/utypes.h"
#include "unicode/uenum.h"
#if !UCONFIG_NO_FORMATTING
enum UCurrencyUsage {
UCURR_USAGE_STANDARD=0,
UCURR_USAGE_CASH=1,
#ifndef U_HIDE_DEPRECATED_API
UCURR_USAGE_COUNT=2
#endif // U_HIDE_DEPRECATED_API
};
typedef enum UCurrencyUsage UCurrencyUsage;
U_CAPI int32_t U_EXPORT2
ucurr_forLocale(const char* locale,
UChar* buff,
int32_t buffCapacity,
UErrorCode* ec);
typedef enum UCurrNameStyle {
UCURR_SYMBOL_NAME,
UCURR_LONG_NAME,
UCURR_NARROW_SYMBOL_NAME,
UCURR_FORMAL_SYMBOL_NAME,
UCURR_VARIANT_SYMBOL_NAME
} UCurrNameStyle;
#if !UCONFIG_NO_SERVICE
typedef const void* UCurrRegistryKey;
U_CAPI UCurrRegistryKey U_EXPORT2
ucurr_register(const UChar* isoCode,
const char* locale,
UErrorCode* status);
U_CAPI UBool U_EXPORT2
ucurr_unregister(UCurrRegistryKey key, UErrorCode* status);
#endif /* UCONFIG_NO_SERVICE */
U_CAPI const UChar* U_EXPORT2
ucurr_getName(const UChar* currency,
const char* locale,
UCurrNameStyle nameStyle,
UBool* isChoiceFormat,
int32_t* len,
UErrorCode* ec);
U_CAPI const UChar* U_EXPORT2
ucurr_getPluralName(const UChar* currency,
const char* locale,
UBool* isChoiceFormat,
const char* pluralCount,
int32_t* len,
UErrorCode* ec);
U_CAPI int32_t U_EXPORT2
ucurr_getDefaultFractionDigits(const UChar* currency,
UErrorCode* ec);
U_CAPI int32_t U_EXPORT2
ucurr_getDefaultFractionDigitsForUsage(const UChar* currency,
const UCurrencyUsage usage,
UErrorCode* ec);
U_CAPI double U_EXPORT2
ucurr_getRoundingIncrement(const UChar* currency,
UErrorCode* ec);
U_CAPI double U_EXPORT2
ucurr_getRoundingIncrementForUsage(const UChar* currency,
const UCurrencyUsage usage,
UErrorCode* ec);
typedef enum UCurrCurrencyType {
UCURR_ALL = INT32_MAX,
UCURR_COMMON = 1,
UCURR_UNCOMMON = 2,
UCURR_DEPRECATED = 4,
UCURR_NON_DEPRECATED = 8
} UCurrCurrencyType;
U_CAPI UEnumeration * U_EXPORT2
ucurr_openISOCurrencies(uint32_t currType, UErrorCode *pErrorCode);
U_CAPI UBool U_EXPORT2
ucurr_isAvailable(const UChar* isoCode,
UDate from,
UDate to,
UErrorCode* errorCode);
U_CAPI int32_t U_EXPORT2
ucurr_countCurrencies(const char* locale,
UDate date,
UErrorCode* ec);
U_CAPI int32_t U_EXPORT2
ucurr_forLocaleAndDate(const char* locale,
UDate date,
int32_t index,
UChar* buff,
int32_t buffCapacity,
UErrorCode* ec);
U_CAPI UEnumeration* U_EXPORT2
ucurr_getKeywordValuesForLocale(const char* key,
const char* locale,
UBool commonlyUsed,
UErrorCode* status);
U_CAPI int32_t U_EXPORT2
ucurr_getNumericCode(const UChar* currency);
#endif /* #if !UCONFIG_NO_FORMATTING */
#endif
ucurr_forLocaleAndDate
U_CAPI int32_t ucurr_forLocaleAndDate(const char *locale, UDate date, int32_t index, UChar *buff, int32_t buffCapacity, UErrorCode *ec)
Finds a currency code for the given locale and date.
UCurrCurrencyType
UCurrCurrencyType
Selector constants for ucurr_openCurrencies().
Definition: ucurr.h:303
UCURR_UNCOMMON
@ UCURR_UNCOMMON
Select ISO-4217 uncommon currency codes.
Definition: ucurr.h:325
UCURR_NON_DEPRECATED
@ UCURR_NON_DEPRECATED
Select only non-deprecated ISO-4217 codes.
Definition: ucurr.h:337
UCURR_ALL
@ UCURR_ALL
Select all ISO-4217 currency codes.
Definition: ucurr.h:308
UCURR_DEPRECATED
@ UCURR_DEPRECATED
Select only deprecated ISO-4217 codes.
Definition: ucurr.h:331
UCURR_COMMON
@ UCURR_COMMON
Select only ISO-4217 commonly used currency codes.
Definition: ucurr.h:317
UCurrRegistryKey
const void * UCurrRegistryKey
Definition: ucurr.h:143
ucurr_register
U_CAPI UCurrRegistryKey ucurr_register(const UChar *isoCode, const char *locale, UErrorCode *status)
Register an (existing) ISO 4217 currency code for the given locale.
ucurr_getRoundingIncrementForUsage
U_CAPI double ucurr_getRoundingIncrementForUsage(const UChar *currency, const UCurrencyUsage usage, UErrorCode *ec)
Returns the rounding increment for the given currency, or 0.0 if no rounding is done by the currency ...
ucurr_getRoundingIncrement
U_CAPI double ucurr_getRoundingIncrement(const UChar *currency, UErrorCode *ec)
Returns the rounding increment for the given currency, or 0.0 if no rounding is done by the currency.
ucurr_getNumericCode
U_CAPI int32_t ucurr_getNumericCode(const UChar *currency)
Returns the ISO 4217 numeric code for the currency.
ucurr_getKeywordValuesForLocale
U_CAPI UEnumeration * ucurr_getKeywordValuesForLocale(const char *key, const char *locale, UBool commonlyUsed, UErrorCode *status)
Given a key and a locale, returns an array of string values in a preferred order that would make a di...
ucurr_getDefaultFractionDigitsForUsage
U_CAPI int32_t ucurr_getDefaultFractionDigitsForUsage(const UChar *currency, const UCurrencyUsage usage, UErrorCode *ec)
Returns the number of the number of fraction digits that should be displayed for the given currency w...
UCurrNameStyle
UCurrNameStyle
Selector constants for ucurr_getName().
Definition: ucurr.h:93
UCURR_FORMAL_SYMBOL_NAME
@ UCURR_FORMAL_SYMBOL_NAME
Selector for getName() indicating the formal currency symbol.
Definition: ucurr.h:126
UCURR_VARIANT_SYMBOL_NAME
@ UCURR_VARIANT_SYMBOL_NAME
Selector for getName() indicating the variant currency symbol.
Definition: ucurr.h:135
UCURR_SYMBOL_NAME
@ UCURR_SYMBOL_NAME
Selector for ucurr_getName indicating a symbolic name for a currency, such as "$" for USD.
Definition: ucurr.h:99
UCURR_NARROW_SYMBOL_NAME
@ UCURR_NARROW_SYMBOL_NAME
Selector for getName() indicating the narrow currency symbol.
Definition: ucurr.h:116
UCURR_LONG_NAME
@ UCURR_LONG_NAME
Selector for ucurr_getName indicating the long name for a currency, such as "US Dollar" for USD.
Definition: ucurr.h:106
ucurr_getDefaultFractionDigits
U_CAPI int32_t ucurr_getDefaultFractionDigits(const UChar *currency, UErrorCode *ec)
Returns the number of the number of fraction digits that should be displayed for the given currency.
ucurr_openISOCurrencies
U_CAPI UEnumeration * ucurr_openISOCurrencies(uint32_t currType, UErrorCode *pErrorCode)
Provides a UEnumeration object for listing ISO-4217 codes.
ucurr_forLocale
U_CAPI int32_t ucurr_forLocale(const char *locale, UChar *buff, int32_t buffCapacity, UErrorCode *ec)
Finds a currency code for the given locale.
ucurr_countCurrencies
U_CAPI int32_t ucurr_countCurrencies(const char *locale, UDate date, UErrorCode *ec)
Finds the number of valid currency codes for the given locale and date.
ucurr_isAvailable
U_CAPI UBool ucurr_isAvailable(const UChar *isoCode, UDate from, UDate to, UErrorCode *errorCode)
Queries if the given ISO 4217 3-letter code is available on the specified date range.
ucurr_unregister
U_CAPI UBool ucurr_unregister(UCurrRegistryKey key, UErrorCode *status)
Unregister the previously-registered currency definitions using the URegistryKey returned from ucurr_...
ucurr_getPluralName
U_CAPI const UChar * ucurr_getPluralName(const UChar *currency, const char *locale, UBool *isChoiceFormat, const char *pluralCount, int32_t *len, UErrorCode *ec)
Returns the plural name for the given currency in the given locale.
UCurrencyUsage
UCurrencyUsage
Currency Usage used for Decimal Format.
Definition: ucurr.h:41
UCURR_USAGE_COUNT
@ UCURR_USAGE_COUNT
One higher than the last enum UCurrencyUsage constant.
Definition: ucurr.h:60
UCURR_USAGE_STANDARD
@ UCURR_USAGE_STANDARD
a setting to specify currency usage which determines currency digit and rounding for standard usage,...
Definition: ucurr.h:48
UCURR_USAGE_CASH
@ UCURR_USAGE_CASH
a setting to specify currency usage which determines currency digit and rounding for cash usage,...
Definition: ucurr.h:54
ucurr_getName
U_CAPI const UChar * ucurr_getName(const UChar *currency, const char *locale, UCurrNameStyle nameStyle, UBool *isChoiceFormat, int32_t *len, UErrorCode *ec)
Returns the display name for the given currency in the given locale.
uenum.h
C API: String Enumeration.
UEnumeration
struct UEnumeration UEnumeration
structure representing an enumeration object instance
Definition: uenum.h:44
INT32_MAX
#define INT32_MAX
The largest value a 32 bit signed integer can hold.
Definition: umachine.h:186
UBool
int8_t UBool
The ICU boolean type, a signed-byte integer.
Definition: umachine.h:247
U_CAPI
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
UChar
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:386
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415
UDate
double UDate
Date and Time data type.
Definition: utypes.h:203