CFNumberFormatter.h [plain text]
#if !defined(__COREFOUNDATION_CFNUMBERFORMATTER__)
#define __COREFOUNDATION_CFNUMBERFORMATTER__ 1
#include <CoreFoundation/CFBase.h>
#include <CoreFoundation/CFNumber.h>
#include <CoreFoundation/CFLocale.h>
CF_EXTERN_C_BEGIN
typedef struct __CFNumberFormatter *CFNumberFormatterRef;
CF_EXPORT
CFTypeID CFNumberFormatterGetTypeID(void);
typedef CF_ENUM(CFIndex, CFNumberFormatterStyle) { kCFNumberFormatterNoStyle = 0,
kCFNumberFormatterDecimalStyle = 1,
kCFNumberFormatterCurrencyStyle = 2,
kCFNumberFormatterPercentStyle = 3,
kCFNumberFormatterScientificStyle = 4,
kCFNumberFormatterSpellOutStyle = 5
};
CF_EXPORT
CFNumberFormatterRef CFNumberFormatterCreate(CFAllocatorRef allocator, CFLocaleRef locale, CFNumberFormatterStyle style);
CF_EXPORT
CFLocaleRef CFNumberFormatterGetLocale(CFNumberFormatterRef formatter);
CF_EXPORT
CFNumberFormatterStyle CFNumberFormatterGetStyle(CFNumberFormatterRef formatter);
CF_EXPORT
CFStringRef CFNumberFormatterGetFormat(CFNumberFormatterRef formatter);
CF_EXPORT
void CFNumberFormatterSetFormat(CFNumberFormatterRef formatter, CFStringRef formatString);
CF_EXPORT
CFStringRef CFNumberFormatterCreateStringWithNumber(CFAllocatorRef allocator, CFNumberFormatterRef formatter, CFNumberRef number);
CF_EXPORT
CFStringRef CFNumberFormatterCreateStringWithValue(CFAllocatorRef allocator, CFNumberFormatterRef formatter, CFNumberType numberType, const void *valuePtr);
typedef CF_OPTIONS(CFOptionFlags, CFNumberFormatterOptionFlags) {
kCFNumberFormatterParseIntegersOnly = 1
};
CF_EXPORT
CFNumberRef CFNumberFormatterCreateNumberFromString(CFAllocatorRef allocator, CFNumberFormatterRef formatter, CFStringRef string, CFRange *rangep, CFOptionFlags options);
CF_EXPORT
Boolean CFNumberFormatterGetValueFromString(CFNumberFormatterRef formatter, CFStringRef string, CFRange *rangep, CFNumberType numberType, void *valuePtr);
CF_EXPORT
void CFNumberFormatterSetProperty(CFNumberFormatterRef formatter, CFStringRef key, CFTypeRef value);
CF_EXPORT
CFTypeRef CFNumberFormatterCopyProperty(CFNumberFormatterRef formatter, CFStringRef key);
CF_EXPORT const CFStringRef kCFNumberFormatterCurrencyCode; CF_EXPORT const CFStringRef kCFNumberFormatterDecimalSeparator; CF_EXPORT const CFStringRef kCFNumberFormatterCurrencyDecimalSeparator; CF_EXPORT const CFStringRef kCFNumberFormatterAlwaysShowDecimalSeparator; CF_EXPORT const CFStringRef kCFNumberFormatterGroupingSeparator; CF_EXPORT const CFStringRef kCFNumberFormatterUseGroupingSeparator; CF_EXPORT const CFStringRef kCFNumberFormatterPercentSymbol; CF_EXPORT const CFStringRef kCFNumberFormatterZeroSymbol; CF_EXPORT const CFStringRef kCFNumberFormatterNaNSymbol; CF_EXPORT const CFStringRef kCFNumberFormatterInfinitySymbol; CF_EXPORT const CFStringRef kCFNumberFormatterMinusSign; CF_EXPORT const CFStringRef kCFNumberFormatterPlusSign; CF_EXPORT const CFStringRef kCFNumberFormatterCurrencySymbol; CF_EXPORT const CFStringRef kCFNumberFormatterExponentSymbol; CF_EXPORT const CFStringRef kCFNumberFormatterMinIntegerDigits; CF_EXPORT const CFStringRef kCFNumberFormatterMaxIntegerDigits; CF_EXPORT const CFStringRef kCFNumberFormatterMinFractionDigits; CF_EXPORT const CFStringRef kCFNumberFormatterMaxFractionDigits; CF_EXPORT const CFStringRef kCFNumberFormatterGroupingSize; CF_EXPORT const CFStringRef kCFNumberFormatterSecondaryGroupingSize; CF_EXPORT const CFStringRef kCFNumberFormatterRoundingMode; CF_EXPORT const CFStringRef kCFNumberFormatterRoundingIncrement; CF_EXPORT const CFStringRef kCFNumberFormatterFormatWidth; CF_EXPORT const CFStringRef kCFNumberFormatterPaddingPosition; CF_EXPORT const CFStringRef kCFNumberFormatterPaddingCharacter; CF_EXPORT const CFStringRef kCFNumberFormatterDefaultFormat; CF_EXPORT const CFStringRef kCFNumberFormatterMultiplier; CF_EXPORT const CFStringRef kCFNumberFormatterPositivePrefix; CF_EXPORT const CFStringRef kCFNumberFormatterPositiveSuffix; CF_EXPORT const CFStringRef kCFNumberFormatterNegativePrefix; CF_EXPORT const CFStringRef kCFNumberFormatterNegativeSuffix; CF_EXPORT const CFStringRef kCFNumberFormatterPerMillSymbol; CF_EXPORT const CFStringRef kCFNumberFormatterInternationalCurrencySymbol; CF_EXPORT const CFStringRef kCFNumberFormatterCurrencyGroupingSeparator CF_AVAILABLE(10_5, 2_0); CF_EXPORT const CFStringRef kCFNumberFormatterIsLenient CF_AVAILABLE(10_5, 2_0); CF_EXPORT const CFStringRef kCFNumberFormatterUseSignificantDigits CF_AVAILABLE(10_5, 2_0); CF_EXPORT const CFStringRef kCFNumberFormatterMinSignificantDigits CF_AVAILABLE(10_5, 2_0); CF_EXPORT const CFStringRef kCFNumberFormatterMaxSignificantDigits CF_AVAILABLE(10_5, 2_0);
typedef CF_ENUM(CFIndex, CFNumberFormatterRoundingMode) {
kCFNumberFormatterRoundCeiling = 0,
kCFNumberFormatterRoundFloor = 1,
kCFNumberFormatterRoundDown = 2,
kCFNumberFormatterRoundUp = 3,
kCFNumberFormatterRoundHalfEven = 4,
kCFNumberFormatterRoundHalfDown = 5,
kCFNumberFormatterRoundHalfUp = 6
};
typedef CF_ENUM(CFIndex, CFNumberFormatterPadPosition) {
kCFNumberFormatterPadBeforePrefix = 0,
kCFNumberFormatterPadAfterPrefix = 1,
kCFNumberFormatterPadBeforeSuffix = 2,
kCFNumberFormatterPadAfterSuffix = 3
};
CF_EXPORT
Boolean CFNumberFormatterGetDecimalInfoForCurrencyCode(CFStringRef currencyCode, int32_t *defaultFractionDigits, double *roundingIncrement);
CF_EXTERN_C_END
#endif