src/share/classes/java/lang/Float.java

Print this page

        

*** 1,7 **** /* ! * Copyright 1994-2006 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Sun designates this --- 1,7 ---- /* ! * Copyright 1994-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Sun designates this
*** 363,375 **** * hexadecimal value; this exact numerical value is then * conceptually converted to an "infinitely precise" * binary value that is then rounded to type {@code float} * by the usual round-to-nearest rule of IEEE 754 floating-point * arithmetic, which includes preserving the sign of a zero ! * value. Finally, a {@code Float} object representing this ! * {@code float} value is returned. * * <p>To interpret localized string representations of a * floating-point value, use subclasses of {@link * java.text.NumberFormat}. * * <p>Note that trailing format specifiers, specifiers that --- 363,386 ---- * hexadecimal value; this exact numerical value is then * conceptually converted to an "infinitely precise" * binary value that is then rounded to type {@code float} * by the usual round-to-nearest rule of IEEE 754 floating-point * arithmetic, which includes preserving the sign of a zero ! * value. * + * Note that the round-to-nearest rule also implies overflow and + * underflow behaviour; if the exact value of {@code s} is large + * enough in magnitude (greater than or equal to ({@link + * #MAX_VALUE} + {@link Math#ulp(float) ulp(MAX_VALUE)}/2), + * rounding to {@code float} will result in an infinity and if the + * exact value of {@code s} is small enough in magnitude (less + * than or equal to {@link #MIN_VALUE}/2), rounding to float will + * result in a zero. + * + * Finally, after rounding a {@code Float} object representing + * this {@code float} value is returned. + * * <p>To interpret localized string representations of a * floating-point value, use subclasses of {@link * java.text.NumberFormat}. * * <p>Note that trailing format specifiers, specifiers that