1.1 --- a/rt/emul/mini/src/main/java/java/lang/Double.java Sat Mar 09 14:12:29 2013 +0100
1.2 +++ b/rt/emul/mini/src/main/java/java/lang/Double.java Sat Mar 09 15:29:57 2013 +0100
1.3 @@ -191,8 +191,9 @@
1.4 * @return a string representation of the argument.
1.5 */
1.6 @JavaScriptBody(args="d", body="var f = Math.floor(d);\n" +
1.7 - "if (f === d && isFinite(d)) return d.toString() + '.0';\n" +
1.8 - "else return d.toString();"
1.9 + "var r = d.toString();" +
1.10 + "if (f === d && isFinite(d) && r.indexOf('e') === -1) return r + '.0';\n" +
1.11 + " else return r;"
1.12 )
1.13 public static native String toString(double d);
1.14
2.1 --- a/rt/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/DoubleTest.java Sat Mar 09 14:12:29 2013 +0100
2.2 +++ b/rt/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/DoubleTest.java Sat Mar 09 15:29:57 2013 +0100
2.3 @@ -50,6 +50,10 @@
2.4 return Double.parseDouble(toStr(Long.MIN_VALUE / 10));
2.5 }
2.6
2.7 + @Compare public double canParseExp() {
2.8 + return Double.parseDouble(toStr(1.7976931348623157e+308));
2.9 + }
2.10 +
2.11 private static String toStr(double d) {
2.12 return Double.toString(d);
2.13 }