# HG changeset patch # User Jaroslav Tulach # Date 1353264880 -3600 # Node ID 391a5d25c0e1e052303d3b2f480b4eaec2e8716e # Parent 123ba97c3718d4364e8b5bebbc562be42b5d17bf toString on floats and doubles should end with .0 diff -r 123ba97c3718 -r 391a5d25c0e1 emul/src/main/java/java/lang/Double.java --- a/emul/src/main/java/java/lang/Double.java Sun Nov 18 19:19:26 2012 +0100 +++ b/emul/src/main/java/java/lang/Double.java Sun Nov 18 19:54:40 2012 +0100 @@ -190,7 +190,9 @@ * @param d the {@code double} to be converted. * @return a string representation of the argument. */ - @JavaScriptBody(args="d", body="return d.toString();") + @JavaScriptBody(args="d", body="var r = d.toString();" + + "if (r.indexOf('.') === -1) r = r + '.0';" + + "return r;") public static String toString(double d) { throw new UnsupportedOperationException(); } diff -r 123ba97c3718 -r 391a5d25c0e1 emul/src/main/java/java/lang/Float.java --- a/emul/src/main/java/java/lang/Float.java Sun Nov 18 19:19:26 2012 +0100 +++ b/emul/src/main/java/java/lang/Float.java Sun Nov 18 19:54:40 2012 +0100 @@ -192,10 +192,8 @@ * @param f the float to be converted. * @return a string representation of the argument. */ - @JavaScriptBody(args="d", body="return d.toString();") public static String toString(float f) { - throw new UnsupportedOperationException(); -// return new FloatingDecimal(f).toJavaFormatString(); + return Double.toString(f); } /** diff -r 123ba97c3718 -r 391a5d25c0e1 vm/src/test/java/org/apidesign/vm4brwsr/NumberTest.java --- a/vm/src/test/java/org/apidesign/vm4brwsr/NumberTest.java Sun Nov 18 19:19:26 2012 +0100 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/NumberTest.java Sun Nov 18 19:54:40 2012 +0100 @@ -140,6 +140,14 @@ s ); } + + @Test public void sevenInStringJS() throws Exception { + String s = Numbers.floatToString(); + assertExec("Should be the same: " + s, + "org_apidesign_vm4brwsr_Numbers_floatToStringLjava_lang_String", + s + ); + } private static CharSequence codeSeq; private static Invocable code; diff -r 123ba97c3718 -r 391a5d25c0e1 vm/src/test/java/org/apidesign/vm4brwsr/Numbers.java --- a/vm/src/test/java/org/apidesign/vm4brwsr/Numbers.java Sun Nov 18 19:19:26 2012 +0100 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/Numbers.java Sun Nov 18 19:54:40 2012 +0100 @@ -64,4 +64,7 @@ static String intToString() { return new Integer(5).toString().toString(); } + static String floatToString() { + return new Float(7.0).toString().toString(); + } }