src/java.base/share/classes/java/text/CompactNumberFormat.java
changeset 54252 83deaa8f0c8e
parent 54206 003cc64366da
child 57956 e0b8b019d2f5
child 58678 9cf78a70fa4f
--- a/src/java.base/share/classes/java/text/CompactNumberFormat.java	Fri Mar 22 08:18:26 2019 -0700
+++ b/src/java.base/share/classes/java/text/CompactNumberFormat.java	Fri Mar 22 09:31:36 2019 -0700
@@ -836,7 +836,8 @@
             if (ch == QUOTE) {
                 ch = pattern.charAt(index++);
                 if (ch == MINUS_SIGN) {
-                    ch = symbols.getMinusSign();
+                    sb.append(symbols.getMinusSignText());
+                    continue;
                 }
             }
             sb.append(ch);
@@ -859,11 +860,14 @@
             if (ch == QUOTE) {
                 ch = pattern.charAt(index++);
                 if (ch == MINUS_SIGN) {
-                    ch = symbols.getMinusSign();
+                    String minusText = symbols.getMinusSignText();
                     FieldPosition fp = new FieldPosition(NumberFormat.Field.SIGN);
                     fp.setBeginIndex(stringIndex);
-                    fp.setEndIndex(stringIndex + 1);
+                    fp.setEndIndex(stringIndex + minusText.length());
                     positions.add(fp);
+                    stringIndex += minusText.length();
+                    affix.append(minusText);
+                    continue;
                 }
             }
             stringIndex++;