summaryrefslogtreecommitdiff
path: root/vm
diff options
context:
space:
mode:
authorJeroen Frijters <jeroen@sumatra.nl>2007-05-11 08:07:45 +0000
committerJeroen Frijters <jeroen@sumatra.nl>2007-05-11 08:07:45 +0000
commit8c44b249a22a1931ff99e9d88854efb74b6cb27a (patch)
treef73901d15ae11f7d4d968a79daf8a61cb64270e7 /vm
parent2adeaed5ad2240a169114fa662ee454a8a8baa54 (diff)
downloadclasspath-8c44b249a22a1931ff99e9d88854efb74b6cb27a.tar.gz
2007-05-11 Jeroen Frijters <jeroen@frijters.net>
* java/lang/Float.java (toString(float)): Call VMFloat instead of VMDouble. (parseFloat): Call VMFloat. Fixed comment. * vm/reference/java/lang/VMFloat.java (toString, parseFloat): New methods. NEWS: added note about these changes.
Diffstat (limited to 'vm')
-rw-r--r--vm/reference/java/lang/VMFloat.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/vm/reference/java/lang/VMFloat.java b/vm/reference/java/lang/VMFloat.java
index 2e7f439a4..15348130f 100644
--- a/vm/reference/java/lang/VMFloat.java
+++ b/vm/reference/java/lang/VMFloat.java
@@ -108,4 +108,26 @@ final class VMFloat
*/
static native float intBitsToFloat(int bits);
+ /**
+ * @param f the <code>float</code> to convert
+ * @return the <code>String</code> representing the <code>float</code>
+ */
+ static String toString(float f)
+ {
+ return VMDouble.toString(f, true);
+ }
+
+ /**
+ * @param str the <code>String</code> to convert
+ * @return the <code>float</code> value of <code>s</code>
+ * @throws NumberFormatException if <code>str</code> cannot be parsed as a
+ * <code>float</code>
+ * @throws NullPointerException if <code>str</code> is null
+ */
+ static float parseFloat(String str)
+ {
+ // XXX Rounding parseDouble() causes some errors greater than 1 ulp from
+ // the infinitely precise decimal.
+ return (float) Double.parseDouble(str);
+ }
} // class VMFloat