I'm trying to support RTL to left languages, and I'm testing with Arabic (which I know nothing about).
Is the negative/positive symbol supposed to be on the right or left of the number? I think it's supposed to be on the left, but when I use Android's DecimalFormat to put the number in the locale the device is set to, the symbol appears on the right..
Has anyone encountered this, know how to work around it? Best I can think is to print it with parentheses if it's negative, that should get around this but isnt ideal.
EDIT
Sorry, code always helps. If I print the below (and the longitude is negative):
DecimalFormat coord_df = new DecimalFormat("#.000000");
coord_df.format(loc.getLongitude())
It's printed like this
##,######-
where the # signs are numbers in arabic (like those shown on the eastern arabic row here: http://en.wikipedia.org/wiki/Eastern_Arabic_numerals)
I need to get the negative on the correct side of the number (which is the left I believe)
SOLUTION
I ended up just checking whether the device was in RTL whenever I needed to mess with displaying numbers like the answer here: android determine if device is in right to left language/layout
If the device is RTL then I use a negative subpattern with a negative sign as a suffix like this:
"#.000000,#.000000-"