< prev index next >

src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeNumber.java

Print this page

        

*** 47,56 **** --- 47,57 ---- import jdk.nashorn.internal.objects.annotations.Where; import jdk.nashorn.internal.runtime.JSType; import jdk.nashorn.internal.runtime.PropertyMap; import jdk.nashorn.internal.runtime.ScriptObject; import jdk.nashorn.internal.runtime.ScriptRuntime; + import jdk.nashorn.internal.runtime.doubleconv.DoubleConversion; import jdk.nashorn.internal.runtime.linker.PrimitiveLookup; /** * ECMA 15.7 Number Objects. *
*** 182,198 **** if (Math.abs(x) >= 1e21) { return JSType.toString(x); } ! final NumberFormat format = NumberFormat.getNumberInstance(Locale.US); ! format.setMinimumFractionDigits(fractionDigits); ! format.setMaximumFractionDigits(fractionDigits); ! format.setGroupingUsed(false); ! format.setRoundingMode(RoundingMode.HALF_UP); ! ! return format.format(x); } /** * ECMA 15.7.4.6 Number.prototype.toExponential (fractionDigits) * --- 183,193 ---- if (Math.abs(x) >= 1e21) { return JSType.toString(x); } ! return DoubleConversion.toFixed(x, fractionDigits); } /** * ECMA 15.7.4.6 Number.prototype.toExponential (fractionDigits) *
*** 265,275 **** // workaround for http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6469160 if (x == 0.0 && p <= 1) { return "0"; } ! return fixExponent(String.format(Locale.US, "%." + p + "g", x), false); } /** * ECMA 15.7.4.2 Number.prototype.toString ( [ radix ] ) * --- 260,270 ---- // workaround for http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6469160 if (x == 0.0 && p <= 1) { return "0"; } ! return DoubleConversion.toPrecision(x, p); } /** * ECMA 15.7.4.2 Number.prototype.toString ( [ radix ] ) *
< prev index next >