本文整理汇总了C++中NumberFormat::setCurrency方法的典型用法代码示例。如果您正苦于以下问题:C++ NumberFormat::setCurrency方法的具体用法?C++ NumberFormat::setCurrency怎么用?C++ NumberFormat::setCurrency使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NumberFormat
的用法示例。
在下文中一共展示了NumberFormat::setCurrency方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
/*
* Set a currency on a NumberFormat with ICU 2.6 APIs.
*
* @param nf The NumberFormat on which to set the currency; takes effect on
* currency-formatting NumberFormat instances.
* The display style of the output is controlled by nf (its pattern,
* usually from the display locale ID used to create this instance)
* while the currency symbol and number of decimals are set for
* the currency.
* @param currency The 3-letter ISO 4217 currency code, NUL-terminated.
* @param errorCode ICU error code, must pass U_SUCCESS() on input.
*/
static void
setNumberFormatCurrency_2_6(NumberFormat &nf, const char *currency, UErrorCode &errorCode) {
if(U_FAILURE(errorCode)) {
return;
}
if(currency==NULL || strlen(currency)!=3) {
errorCode=U_ILLEGAL_ARGUMENT_ERROR;
return;
}
// invariant-character conversion to UChars (see utypes.h and putil.h)
UChar uCurrency[4];
u_charsToUChars(currency, uCurrency, 4);
// set the currency
// in ICU 3.0 this API (which was @draft ICU 2.6) gained a UErrorCode& argument
#if (U_ICU_VERSION_MAJOR_NUM < 3)
nf.setCurrency(uCurrency);
#else
nf.setCurrency(uCurrency, errorCode);
#endif
}
示例2: getCurrencyFractionDigitsNative
static jint getCurrencyFractionDigitsNative(JNIEnv* env, jclass clazz, jstring currencyCode) {
UErrorCode status = U_ZERO_ERROR;
NumberFormat* fmt = NumberFormat::createCurrencyInstance(status);
if (U_FAILURE(status)) {
return -1;
}
const jchar* cCode = env->GetStringChars(currencyCode, NULL);
fmt->setCurrency(cCode, status);
env->ReleaseStringChars(currencyCode, cCode);
if (U_FAILURE(status)) {
return -1;
}
// for CurrencyFormats the minimum and maximum fraction digits are the same.
int result = fmt->getMinimumFractionDigits();
delete fmt;
return result;
}