title: Java: Formatting money amounts using minor currency symbols
body: <p>Java provides a good way to format currencies using major symbols depending on a given locale. For example, if the given currency is US dollar, then you can achieve <code>$0.35</code> or <code>USD0.35</code> for US and UK locales respectively. That's really fine.</p>
  
  <p>Nevertheless, in some cases, there is need to format money amounts in another, I would say more user-friendly, style using minor currency symbols. For example, <code>35¢</code> or <code>35c</code> instead of the examples above. Wikipedia also <a href="http://en.wikipedia.org/wiki/Cent_%28currency%29#Symbol" rel="noreferrer">says</a>:</p>
  
  <blockquote>
    <p>Cent amounts from 1 cent to 99 cents can be represented as one or two digits followed by the appropriate abbreviation (2¢, 5¢, 75¢, 99¢)</p>
  </blockquote>
  
  <p>However, I can't find any way to format money amounts in this style using JDK. I've already tried to play with <code>DecimalFormatSymbols</code>, but this only allows to configure the major currency symbol, so <code>DecimalFormat</code> still uses the original format, giving something like <code>¢35</code> which is not fine. Also a custom format string to fix the order may not be a locale/language/country-agnostic (in-between space? prefix or suffix notation?). <a href="http://www.joda.org/joda-money/" rel="noreferrer">Joda Money</a> and its <a href="http://joda-money.sourceforge.net/apidocs/org/joda/money/format/MoneyFormatter.html" rel="noreferrer">MoneyFormatter</a> seem to lack this feature as well.</p>
  
  <p>Is there a good way to format money amounts using minor currency symbols? Thanks in advance.</p>
  
  <p>P.S. I'm not sure if words "major" and "minor" suit here well.</p>