< 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 >