X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/b75a7d8f3b4adbae880cab104ce2c6a50eee4db2..efa1e6592fb03ce23b15276b2b91d885a3ee7da5:/icuSources/samples/numfmt/main.cpp?ds=sidebyside diff --git a/icuSources/samples/numfmt/main.cpp b/icuSources/samples/numfmt/main.cpp index b57a57c0..5adffe36 100644 --- a/icuSources/samples/numfmt/main.cpp +++ b/icuSources/samples/numfmt/main.cpp @@ -1,6 +1,6 @@ /******************************************************************** * COPYRIGHT: - * Copyright (c) 1999-2003, International Business Machines Corporation and + * Copyright (c) 1999-2010, International Business Machines Corporation and * others. All Rights Reserved. ********************************************************************/ @@ -113,7 +113,8 @@ setNumberFormatCurrency_2_4(NumberFormat &nf, const char *currency, UErrorCode & // check that the formatter is a DecimalFormat instance // necessary because we will cast to the DecimalFormat subclass to set // the currency symbol - if(nf.getDynamicClassID()!=DecimalFormat::getStaticClassID()) { + DecimalFormat *dnf=dynamic_cast(&nf); + if(dnf==NULL) { errorCode=U_ILLEGAL_ARGUMENT_ERROR; return; } @@ -168,12 +169,11 @@ setNumberFormatCurrency_2_4(NumberFormat &nf, const char *currency, UErrorCode & nf.setMinimumFractionDigits(currencyMap[i].fractionDigits); nf.setMaximumFractionDigits(currencyMap[i].fractionDigits); - DecimalFormat &dnf=(DecimalFormat &)nf; - dnf.setRoundingIncrement(currencyMap[i].roundingIncrement); + dnf->setRoundingIncrement(currencyMap[i].roundingIncrement); - DecimalFormatSymbols symbols(*dnf.getDecimalFormatSymbols()); + DecimalFormatSymbols symbols(*dnf->getDecimalFormatSymbols()); symbols.setSymbol(DecimalFormatSymbols::kCurrencySymbol, currencyMap[i].symbol); - dnf.setDecimalFormatSymbols(symbols); // do not adopt symbols: Jitterbug 2889 + dnf->setDecimalFormatSymbols(symbols); // do not adopt symbols: Jitterbug 2889 } /* @@ -203,7 +203,12 @@ setNumberFormatCurrency_2_6(NumberFormat &nf, const char *currency, UErrorCode & 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 } static const char *const