Search code examples
javanumber-formattingabsolute-value

Finding absolute value of a number without using Math.abs()


Is there any way to find the absolute value of a number without using the Math.abs() method in java.


Solution

  • If you look inside Math.abs you can probably find the best answer:

    Eg, for floats:

        /*
         * Returns the absolute value of a {@code float} value.
         * If the argument is not negative, the argument is returned.
         * If the argument is negative, the negation of the argument is returned.
         * Special cases:
         * <ul><li>If the argument is positive zero or negative zero, the
         * result is positive zero.
         * <li>If the argument is infinite, the result is positive infinity.
         * <li>If the argument is NaN, the result is NaN.</ul>
         * In other words, the result is the same as the value of the expression:
         * <p>{@code Float.intBitsToFloat(0x7fffffff & Float.floatToIntBits(a))}
         *
         * @param   a   the argument whose absolute value is to be determined
         * @return  the absolute value of the argument.
         */
        public static float abs(float a) {
            return (a <= 0.0F) ? 0.0F - a : a;
        }