diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 2144b2ac84c3b304baceffb2872e1c59be24b7e4..985e84bbb007411fa605113bb587c6997742dbce 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2001-10-05 Tom Tromey <tromey@redhat.com> + + * java/text/DecimalFormat.java (format): Use localized minus sign + when generating exponent; never use `+'. Use floor to compute + exponent. + 2001-10-05 Mark Wielaard <mark@klomp.org> * java/util/zip/Adler32.java: Merge with Classpath diff --git a/libjava/java/text/DecimalFormat.java b/libjava/java/text/DecimalFormat.java index edf340027ed4ad3543a57f69b959d6340e94a4bc..a8a3db6d61a66120cc7fc3da296944569d309d34 100644 --- a/libjava/java/text/DecimalFormat.java +++ b/libjava/java/text/DecimalFormat.java @@ -442,7 +442,7 @@ public class DecimalFormat extends NumberFormat double baseNumber; if (useExponentialNotation) { - exponent = (long) (Math.log(number) / Math.log(10)); + exponent = (long) Math.floor (Math.log(number) / Math.log(10)); if (minimumIntegerDigits > 0) exponent -= minimumIntegerDigits - 1; baseNumber = (long) (number / Math.pow(10.0, exponent)); @@ -523,7 +523,11 @@ public class DecimalFormat extends NumberFormat if (useExponentialNotation) { dest.append(symbols.getExponential()); - dest.append(exponent < 0 ? '-' : '+'); + if (exponent < 0) + { + dest.append (symbols.getMinusSign ()); + exponent = - exponent; + } index = dest.length(); for (count = 0; exponent > 0 || count < minExponentDigits;