--- old/src/java.base/share/classes/java/text/CompactNumberFormat.java 2019-03-19 14:44:44.578104308 -0700 +++ new/src/java.base/share/classes/java/text/CompactNumberFormat.java 2019-03-19 14:44:43.837088135 -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++;