How to convert Java String as per Currency Standards of ISO 4217 ?
Solution:
I spent lot of time to get this kind of logic for currencies in java. I think it will be helpful if any one need to play with currency formats in java.
You can enable grouping and symbols if needed .
/***
* Used to convert any amount to any currency.
* Ex: 12.3446 to 12.34 for USD
* Ex 10001.12 to 10001 for JPY
*
*/
// you can get currency using java.util.Currency
String convertToCurrency(String actual, Currency curr)
{
BigDecimal bd = new BigDecimal(actual);
NumberFormat nf = NumberFormat.getCurrencyInstance();
nf.setCurrency(curr);
nf.setGroupingUsed(false);
nf.setMaximumFractionDigits(curr.getDefaultFractionDigits());
nf.setMinimumFractionDigits(curr.getDefaultFractionDigits());
DecimalFormat formatter = (DecimalFormat) nf;
DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols();
symbols.setCurrencySymbol(""); // Don't use null.
formatter.setDecimalFormatSymbols(symbols);
return formatter.format(bd);
}
No comments:
Post a Comment
Please comment here