diff options
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/text/DecimalFormat.java | 16 | ||||
-rw-r--r-- | libjava/java/text/SimpleDateFormat.java | 3 |
2 files changed, 13 insertions, 6 deletions
diff --git a/libjava/java/text/DecimalFormat.java b/libjava/java/text/DecimalFormat.java index 497a705..eda4d04 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 <tromey@cygnus.com> @@ -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; diff --git a/libjava/java/text/SimpleDateFormat.java b/libjava/java/text/SimpleDateFormat.java index 5f3614e..ea3e09f 100644 --- a/libjava/java/text/SimpleDateFormat.java +++ b/libjava/java/text/SimpleDateFormat.java @@ -189,6 +189,7 @@ public class SimpleDateFormat extends DateFormat numberFormat = NumberFormat.getInstance(locale); numberFormat.setGroupingUsed (false); numberFormat.setParseIntegerOnly (true); + numberFormat.setMaximumFractionDigits (0); } /** @@ -216,6 +217,7 @@ public class SimpleDateFormat extends DateFormat numberFormat = NumberFormat.getInstance(locale); numberFormat.setGroupingUsed (false); numberFormat.setParseIntegerOnly (true); + numberFormat.setMaximumFractionDigits (0); } /** @@ -234,6 +236,7 @@ public class SimpleDateFormat extends DateFormat numberFormat = NumberFormat.getInstance(); numberFormat.setGroupingUsed (false); numberFormat.setParseIntegerOnly (true); + numberFormat.setMaximumFractionDigits (0); } // What is the difference between localized and unlocalized? The |