From 289f9db7db45a044bfc59831b56e25cb4aa2e7c8 Mon Sep 17 00:00:00 2001 From: Michael Koch Date: Sun, 30 May 2004 13:42:24 +0000 Subject: 2004-05-30 Michael Koch * java/text/DecimalFormat.java (parse): Fixed parsing of decimal strings. Number of maximum digits to be read should now work. * java/text/SimpleDateFormat.java (SimpleDateFormat): Set maximumFractionDigit to 0 for the number formatter. This fixes DateFormatTest. From-SVN: r82449 --- libjava/java/text/DecimalFormat.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'libjava/java/text/DecimalFormat.java') diff --git a/libjava/java/text/DecimalFormat.java b/libjava/java/text/DecimalFormat.java index 497a705670c..eda4d043740 100644 --- a/libjava/java/text/DecimalFormat.java +++ b/libjava/java/text/DecimalFormat.java @@ -42,13 +42,11 @@ import gnu.java.text.FormatBuffer; import gnu.java.text.FormatCharacterIterator; import gnu.java.text.StringFormatBuffer; +import java.io.IOException; +import java.io.ObjectInputStream; import java.util.Currency; import java.util.HashMap; import java.util.Locale; -import java.util.MissingResourceException; -import java.util.ResourceBundle; -import java.io.ObjectInputStream; -import java.io.IOException; /** * @author Tom Tromey @@ -849,7 +847,7 @@ public class DecimalFormat extends NumberFormat // FIXME: handle Inf and NaN. // FIXME: do we have to respect minimum digits? - // What about leading zeros? What about multiplier? + // What about multiplier? StringBuffer buf = int_buf; StringBuffer frac_buf = null; @@ -857,7 +855,13 @@ public class DecimalFormat extends NumberFormat int start_index = index; int max = str.length(); int exp_index = -1; - int last = index + MAXIMUM_INTEGER_DIGITS; + int last = index + maximumIntegerDigits; + + if (maximumFractionDigits > 0) + last += maximumFractionDigits + 1; + + if (useExponentialNotation) + last += minExponentDigits + 1; if (last > 0 && max > last) max = last; -- cgit v1.2.3