/********************************************************************
* COPYRIGHT:
- * Copyright (c) 1999-2004, International Business Machines Corporation and
+ * Copyright (c) 1999-2010, International Business Machines Corporation and
* others. All Rights Reserved.
********************************************************************/
// 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<DecimalFormat *>(&nf);
+ if(dnf==NULL) {
errorCode=U_ILLEGAL_ARGUMENT_ERROR;
return;
}
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
}
/*