When a negative subpattern is not explicitly defined,
DecimalFormat was not using the positive suffix for
negative values.
Simple test case to reproduce the problem:
DecimalFormat tempFormat = new DecimalFormat("0.0 unit");
System.out.println(tempFormat.format(4.3));
System.out.println(tempFormat.format(-4.3));
Yields:
4.3 unit
-4.3
---
java/text/DecimalFormat.java | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/java/text/DecimalFormat.java b/java/text/DecimalFormat.java
index 77af0d3..5e4bf76 100644
--- a/java/text/DecimalFormat.java
+++ b/java/text/DecimalFormat.java
@@ -1371,6 +1371,7 @@ public class DecimalFormat extends NumberFormat
else
{
this.positiveSuffix = buffer.toString();
+ this.negativeSuffix = positiveSuffix;
}
return i;
--
1.7.0.4