summaryrefslogtreecommitdiffstats
path: root/libjava/java/text
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-30 13:42:24 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-30 13:42:24 +0000
commit90dc28587eef7716b0b575ac2266eaaa8202e1e8 (patch)
tree587f6c3511e8ed3079e8952d2d53c902bbaacd84 /libjava/java/text
parent92b13e438c93227fc20aaec01b54d6b35410c821 (diff)
downloadppe42-gcc-90dc28587eef7716b0b575ac2266eaaa8202e1e8.tar.gz
ppe42-gcc-90dc28587eef7716b0b575ac2266eaaa8202e1e8.zip
2004-05-30 Michael Koch <konqueror@gmx.de>
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82449 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/text')
-rw-r--r--libjava/java/text/DecimalFormat.java16
-rw-r--r--libjava/java/text/SimpleDateFormat.java3
2 files changed, 13 insertions, 6 deletions
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 <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 5f3614eefcf..ea3e09fab46 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
OpenPOWER on IntegriCloud