6355704: (fmt) %f formatting of BigDecimals is incorrect
authormchung
Thu, 31 Jan 2013 14:29:19 -0800
changeset 15520 b5c4972b71cd
parent 15519 685a9dff6458
child 15521 2c1c5adf6ff4
6355704: (fmt) %f formatting of BigDecimals is incorrect Reviewed-by: darcy Contributed-by: brian.burkhalter@oracle.com
jdk/test/java/util/Formatter/Basic-X.java.template
jdk/test/java/util/Formatter/BasicBigDecimal.java
--- a/jdk/test/java/util/Formatter/Basic-X.java.template	Thu Jan 31 14:10:14 2013 -0800
+++ b/jdk/test/java/util/Formatter/Basic-X.java.template	Thu Jan 31 14:29:19 2013 -0800
@@ -1103,6 +1103,15 @@
         test("%.5f", "1.99999", val);
         test("%.6f", "1.999990", val);
 
+        val = new BigDecimal(0.9996);
+        test("%.0f", "1", val);
+        test("%.1f", "1.0", val);
+        test("%.2f", "1.00", val);
+        test("%.3f", "1.000", val);
+        test("%.4f", "0.9996", val);
+        test("%.5f", "0.99960", val);
+        test("%.6f", "0.999600", val);
+
 #end[BigDecimal]
 
 #if[float]
--- a/jdk/test/java/util/Formatter/BasicBigDecimal.java	Thu Jan 31 14:10:14 2013 -0800
+++ b/jdk/test/java/util/Formatter/BasicBigDecimal.java	Thu Jan 31 14:29:19 2013 -0800
@@ -1103,6 +1103,15 @@
         test("%.5f", "1.99999", val);
         test("%.6f", "1.999990", val);
 
+        val = new BigDecimal(0.9996);
+        test("%.0f", "1", val);
+        test("%.1f", "1.0", val);
+        test("%.2f", "1.00", val);
+        test("%.3f", "1.000", val);
+        test("%.4f", "0.9996", val);
+        test("%.5f", "0.99960", val);
+        test("%.6f", "0.999600", val);
+