No difference between .applyPattern() and .applyLocalaizedPattern(), both give the following exception:
java.lang.IllegalArgumentException: Multiple decimal separators in pattern "SFr.#,##0.00" at java.text.DecimalFormat.applyPattern(Unknown Source) at java.text.DecimalFormat.applyPattern(Unknown Source)
Anyone have any ideas how I can apply this valid currency format? Note that I really can't extract the "SFr." every time. The format string could be passed in by the user and could be embedded, and plus it seems that currency symbol processing for the locale should be taken care of by the Java Locale processing.
Note that I start my VM with the following: -Duser.language=de -Duser.region=CH
Many characters in a pattern are taken literally; they are matched during parsing and output unchanged during formatting. Special characters, on the other hand, stand for other characters, strings, or classes of characters. They must be quoted, unless noted otherwise, if they are to appear in the prefix or suffix as literals. ... ' Prefix or suffix No Used to quote special characters in a prefix or suffix, for example, "'#'#" formats 123 to "#123". To create a single quote itself, use two in a row: "# o''clock".
Thanks for the pointer, it helped - I read the javadoc but didn't "get it" the first time.
My issue is further compounded by the fact that the 3rd party spreadsheet control barfs on the escaped pattern (they must be doing their own escaping - I unescaped prior to setting, ugh) and more importantly, by the fact the user could enter any type of currency symbol in various positions in the user-specified pattern. Other problematic symbols could include: Antigua's "E.C. $", Bermuda's "Bd.$", Ecuador's "S/. ", Kenya's "Kshs.", Macau's "Ptc.", Panama's "B/.", Tanzania's "T.Shs." and a few (known) others... Too bad the Java (locale) currency processing doesn't take handle this automatically.
Anyway, thanks for the pointer, I got around my immediate issue and if I have to travel to Bermuda to fix any currency formatting issues they might have, well, then I guess I'll deal with that then. :-)