On this page

NumberUtils

public class org.apache.commons.lang3.math.NumberUtils[source]

Provides extra functionality for Java Number classes.

Since:

2.0

Constructors

NumberUtils()

Deprecated. NumberUtils instances should NOT be constructed in standard programming.

@Deprecated public NumberUtils()[source]

Deprecated: TODO Make private in 4.0.

NumberUtils instances should NOT be constructed in standard programming. Instead, the class should be used as NumberUtils.toInt("6");.

This constructor is public to permit tools that require a JavaBean instance to operate.

Fields and constants

BYTE_MINUS_ONE

Reusable Byte constant for minus one.

BYTE_ONE

Reusable Byte constant for one.

BYTE_ZERO

Reusable Byte constant for zero.

DOUBLE_MINUS_ONE

Reusable Double constant for minus one.

DOUBLE_ONE

Reusable Double constant for one.

DOUBLE_ZERO

Reusable Double constant for zero.

FLOAT_MINUS_ONE

Reusable Float constant for minus one.

FLOAT_ONE

Reusable Float constant for one.

FLOAT_ZERO

Reusable Float constant for zero.

INTEGER_MINUS_ONE

Reusable Integer constant for minus one.

INTEGER_ONE

Reusable Integer constant for one.

INTEGER_TWO

Reusable Integer constant for two

INTEGER_ZERO

Reusable Integer constant for zero.

LONG_INT_MAX_VALUE

Integer#MAX_VALUE as a Long.

LONG_INT_MIN_VALUE

Integer#MIN_VALUE as a Long.

LONG_MINUS_ONE

Reusable Long constant for minus one.

LONG_ONE

Reusable Long constant for one.

LONG_ZERO

Reusable Long constant for zero.

SHORT_MINUS_ONE

Reusable Short constant for minus one.

SHORT_ONE

Reusable Short constant for one.

SHORT_ZERO

Reusable Short constant for zero.

public static final Byte BYTE_MINUS_ONE[source]

Reusable Byte constant for minus one.

public static final Byte BYTE_ONE[source]

Reusable Byte constant for one.

public static final Byte BYTE_ZERO[source]

Reusable Byte constant for zero.

public static final Double DOUBLE_MINUS_ONE[source]

Reusable Double constant for minus one.

public static final Double DOUBLE_ONE[source]

Reusable Double constant for one.

public static final Double DOUBLE_ZERO[source]

Reusable Double constant for zero.

public static final Float FLOAT_MINUS_ONE[source]

Reusable Float constant for minus one.

public static final Float FLOAT_ONE[source]

Reusable Float constant for one.

public static final Float FLOAT_ZERO[source]

Reusable Float constant for zero.

public static final Integer INTEGER_MINUS_ONE[source]

Reusable Integer constant for minus one.

public static final Integer INTEGER_ONE[source]

Reusable Integer constant for one.

public static final Integer INTEGER_TWO[source]

Reusable Integer constant for two

public static final Integer INTEGER_ZERO[source]

Reusable Integer constant for zero.

public static final Long LONG_INT_MAX_VALUE[source]

Integer#MAX_VALUE as a Long.

Since:

3.12.0

public static final Long LONG_INT_MIN_VALUE[source]

Integer#MIN_VALUE as a Long.

Since:

3.12.0

public static final Long LONG_MINUS_ONE[source]

Reusable Long constant for minus one.

public static final Long LONG_ONE[source]

Reusable Long constant for one.

public static final Long LONG_ZERO[source]

Reusable Long constant for zero.

public static final Short SHORT_MINUS_ONE[source]

Reusable Short constant for minus one.

public static final Short SHORT_ONE[source]

Reusable Short constant for one.

public static final Short SHORT_ZERO[source]

Reusable Short constant for zero.

Methods

compare(byte, byte)

Deprecated. Compares two byte values numerically.

compare(int, int)

Deprecated. Compares two int values numerically.

compare(long, long)

Deprecated. Compares to long values numerically.

compare(short, short)

Deprecated. Compares to short values numerically.

createBigDecimal(String)

Creates a BigDecimal from a String.

createBigInteger(String)

Creates a BigInteger from a String.

createDouble(String)

Creates a Double from a String.

createFloat(String)

Creates a Float from a String.

createInteger(String)

Creates an Integer from a String.

createLong(String)

Creates a Long from a String.

createNumber(String)

Creates a Number from a String.

isCreatable(String)

Tests whether the String is a valid Java number.

isDigits(String)

Tests whether the String contains only digit characters.

isNumber(String)

Deprecated. Tests whether the String is a valid Java number.

isParsable(String)

Tests whether the given String is a parsable number.

max(byte, byte, byte)

Gets the maximum of three byte values.

max(byte[])

Returns the maximum value in an array.

max(double, double, double)

Gets the maximum of three double values.

max(double[])

Returns the maximum value in an array.

max(float, float, float)

Gets the maximum of three float values.

max(float[])

Returns the maximum value in an array.

max(int, int, int)

Gets the maximum of three int values.

max(int[])

Returns the maximum value in an array.

max(long, long, long)

Gets the maximum of three long values.

max(long[])

Returns the maximum value in an array.

max(short, short, short)

Gets the maximum of three short values.

max(short[])

Returns the maximum value in an array.

min(byte, byte, byte)

Gets the minimum of three byte values.

min(byte[])

Returns the minimum value in an array.

min(double, double, double)

Gets the minimum of three double values.

min(double[])

Returns the minimum value in an array.

min(float, float, float)

Gets the minimum of three float values.

min(float[])

Returns the minimum value in an array.

min(int, int, int)

Gets the minimum of three int values.

min(int[])

Returns the minimum value in an array.

min(long, long, long)

Gets the minimum of three long values.

min(long[])

Returns the minimum value in an array.

min(short, short, short)

Gets the minimum of three short values.

min(short[])

Returns the minimum value in an array.

toByte(String)

Converts a String to a byte, returning zero if the conversion fails.

toByte(String, byte)

Converts a String to a byte, returning a default value if the conversion fails.

toDouble(String)

Converts a String to a double, returning 0.0d if the conversion fails.

toDouble(String, double)

Converts a String to a double, returning a default value if the conversion fails.

toDouble(BigDecimal)

Converts a BigDecimal to a double.

toDouble(BigDecimal, double)

Converts a BigDecimal to a double.

toFloat(String)

Converts a String to a float, returning 0.0f if the conversion fails.

toFloat(String, float)

Converts a String to a float, returning a default value if the conversion fails.

toInt(String)

Converts a String to an int, returning zero if the conversion fails.

toInt(String, int)

Converts a String to an int, returning a default value if the conversion fails.

toLong(String)

Converts a String to a long, returning zero if the conversion fails.

toLong(String, long)

Converts a String to a long, returning a default value if the conversion fails.

toScaledBigDecimal(Double)

Converts a Double to a BigDecimal with a scale of two that has been rounded using RoundingMode.HALF_EVEN.

toScaledBigDecimal(Double, int, RoundingMode)

Converts a Double to a BigDecimal whose scale is the specified value with a RoundingMode applied.

toScaledBigDecimal(Float)

Converts a Float to a BigDecimal with a scale of two that has been rounded using RoundingMode.HALF_EVEN.

toScaledBigDecimal(Float, int, RoundingMode)

Converts a Float to a BigDecimal whose scale is the specified value with a RoundingMode applied.

toScaledBigDecimal(String)

Converts a String to a BigDecimal with a scale of two that has been rounded using RoundingMode.HALF_EVEN.

toScaledBigDecimal(String, int, RoundingMode)

Converts a String to a BigDecimal whose scale is the specified value with a RoundingMode applied.

toScaledBigDecimal(BigDecimal)

Converts a BigDecimal to a BigDecimal with a scale of two that has been rounded using RoundingMode.HALF_EVEN.

toScaledBigDecimal(BigDecimal, int, RoundingMode)

Converts a BigDecimal to a BigDecimal whose scale is the specified value with a RoundingMode applied.

toShort(String)

Converts a String to a short, returning zero if the conversion fails.

toShort(String, short)

Converts a String to an short, returning a default value if the conversion fails.

@Deprecated public static int compare(byte x, byte y)[source]

Deprecated: Use Byte#compare(byte, byte).

Compares two byte values numerically. This is the same functionality as provided in Java 7.

Parameters:
  • x – The first byte to compare.

  • y – The second byte to compare.

Returns:

The value 0 if x == y; a value less than 0 if x < y; and a value greater than 0 if x > y.

Since:

3.4

@Deprecated public static int compare(int x, int y)[source]

Deprecated: Use Integer#compare(int, int).

Compares two int values numerically. This is the same functionality as provided in Java 7.

Parameters:
  • x – The first int to compare.

  • y – The second int to compare.

Returns:

The value 0 if x == y; a value less than 0 if x < y; and a value greater than 0 if x > y.

Since:

3.4

@Deprecated public static int compare(long x, long y)[source]

Deprecated: Use Long#compare(long, long).

Compares to long values numerically. This is the same functionality as provided in Java 7.

Parameters:
  • x – The first long to compare.

  • y – The second long to compare.

Returns:

The value 0 if x == y; a value less than 0 if x < y; and a value greater than 0 if x > y.

Since:

3.4

@Deprecated public static int compare(short x, short y)[source]

Deprecated: Use Short#compare(short, short).

Compares to short values numerically. This is the same functionality as provided in Java 7.

Parameters:
  • x – The first short to compare.

  • y – The second short to compare.

Returns:

The value 0 if x == y; a value less than 0 if x < y; and a value greater than 0 if x > y.

Since:

3.4

public static BigDecimal createBigDecimal(String str)[source]

Creates a BigDecimal from a String.

Returns null if the string is null.

Parameters:

str – A String to convert, may be null.Return

Returns:

converted BigDecimal (or null if the input is null).

Throws:

java.lang.NumberFormatException – Thrown if the value cannot be converted.

public static BigInteger createBigInteger(String str)[source]

Creates a BigInteger from a String. Handles hexadecimal (0x or #) and octal (0) notations.

Returns null if the string is null.

Parameters:

str – A String to convert, may be null.

Returns:

converted BigInteger (or null if the input is null).

Throws:

java.lang.NumberFormatException – Thrown if the value cannot be converted.

Since:

3.2

public static Double createDouble(String str)[source]

Creates a Double from a String.

Returns null if the string is null.

Parameters:

str – A String to convert, may be null.

Returns:

converted Double (or null if the input is null).

Throws:

java.lang.NumberFormatException – Thrown if the value cannot be converted.

public static Float createFloat(String str)[source]

Creates a Float from a String.

Returns null if the string is null.

Parameters:

str – A String to convert, may be null.

Returns:

converted Float (or null if the input is null).

Throws:

java.lang.NumberFormatException – Thrown if the value cannot be converted.

public static Integer createInteger(String str)[source]

Creates an Integer from a String. Handles hexadecimal (0xhhhh) and octal (0dddd) notations. A leading zero means octal; spaces are not trimmed.

Returns null if the string is null.

Parameters:

str – A String to convert, may be null.

Returns:

converted Integer (or null if the input is null).

Throws:

java.lang.NumberFormatException – Thrown if the value cannot be converted.

public static Long createLong(String str)[source]

Creates a Long from a String. Handles hexadecimal (0Xhhhh) and octal (0ddd) notations. A leading zero means octal; spaces are not trimmed.

Returns null if the string is null.

Parameters:

str – A String to convert, may be null.

Returns:

converted Long (or null if the input is null).

Throws:

java.lang.NumberFormatException – Thrown if the value cannot be converted.

Since:

3.1

public static Number createNumber(String str)[source]

Creates a Number from a String.

If the string starts with 0x or -0x (lower or upper case) or # or -#, it will be interpreted as a hexadecimal Integer - or Long, if the number of digits after the prefix is more than 8 - or BigInteger if there are more than 16 digits.

Then, the value is examined for a type qualifier on the end, i.e. one of 'f', 'F', 'd', 'D', 'l', 'L'. If it is found, it starts trying to create successively larger types from the type specified until one is found that can represent the value.

If a type specifier is not found, it will check for a decimal point and then try successively larger types from Integer to BigInteger and from Float to BigDecimal.

Integral values with a leading 0 will be interpreted as octal; the returned number will be Integer, Long or BigDecimal as appropriate.

Returns null if the string is null.

This method does not trim the input string, i.e., strings with leading or trailing spaces will generate NumberFormatExceptions.

Parameters:

str – String containing a number, may be null.

Returns:

Number created from the string (or null if the input is null).

Throws:

java.lang.NumberFormatException – Thrown if the value cannot be converted.

public static boolean isCreatable(String str)[source]

Tests whether the String is a valid Java number.

Valid numbers include hexadecimal marked with the 0x or 0X qualifier, octal numbers, scientific notation and numbers marked with a type qualifier (e.g. 123L).

Non-hexadecimal strings beginning with a leading zero are treated as octal values. Thus the string 09 will return false, since 9 is not a valid octal value. However, numbers beginning with 0. are treated as decimal.

null and empty/blank String will return false.

Note, #createNumber(String) should return a number for every input resulting in true.

Parameters:

str – The String to check.

Returns:

true if the string is a correctly formatted number.

Since:

3.5

public static boolean isDigits(String str)[source]

Tests whether the String contains only digit characters.

null and empty String will return false.

Parameters:

str – The String to check

Returns:

true if str contains only Unicode numeric

@Deprecated public static boolean isNumber(String str)[source]

Deprecated: This feature will be removed in Lang 4, use NumberUtils#isCreatable(String) instead.

Tests whether the String is a valid Java number.

Valid numbers include hexadecimal marked with the 0x or 0X qualifier, octal numbers, scientific notation and numbers marked with a type qualifier (e.g. 123L).

Non-hexadecimal strings beginning with a leading zero are treated as octal values. Thus the string 09 will return false, since 9 is not a valid octal value. However, numbers beginning with 0. are treated as decimal.

null and empty/blank String will return false.

Note, #createNumber(String) should return a number for every input resulting in true.

Parameters:

str – The String to check.

Returns:

true if the string is a correctly formatted number.

Since:

3.3 the code supports hexadecimal 0Xhhh an octal 0ddd validation.

public static boolean isParsable(String str)[source]

Tests whether the given String is a parsable number.

Parsable numbers include those Strings understood by Integer#parseInt(String), Long#parseLong(String), Float#parseFloat(String) or Double#parseDouble(String). This method can be used instead of catching java.text.ParseException when calling one of those methods.

Scientific notation (for example, "1.2e-5") and type suffixes (e.g., "2.0f", "2.0d") are supported as they are valid for Float#parseFloat(String) and Double#parseDouble(String) as are "NaN", "Infinity", "+Infinity", and "-Infinity". Callers requiring finite-only validation should compose with Double#isFinite(double).

null and empty String will return false.

Parameters:

str – The String to check.

Returns:

true if the string is a parsable number.

See also:
Since:

3.4

public static byte max(byte a, byte b, byte c)[source]

Gets the maximum of three byte values.

Parameters:
  • a – value 1.

  • b – value 2.

  • c – value 3.

Returns:

The largest of the values.

public static byte max(byte... array)[source]

Returns the maximum value in an array.

Parameters:

array – An array, must not be null or empty.

Returns:

The maximum value in the array.

Throws:
  • java.lang.NullPointerException – Thrown if array is null.

  • java.lang.IllegalArgumentException – Thrown if array is empty.

Since:

3.4 Changed signature from max(byte[]) to max(byte…).

public static double max(double a, double b, double c)[source]

Gets the maximum of three double values.

If any value is NaN, NaN is returned. Infinity is handled.

Parameters:
  • a – value 1.

  • b – value 2.

  • c – value 3.

Returns:

The largest of the values.

See also:

IEEE754rUtils#max(double, double, double)for a version of this method that handles NaN differently.

public static double max(double... array)[source]

Returns the maximum value in an array.

Parameters:

array – An array, must not be null or empty.

Returns:

The maximum value in the array.

Throws:
  • java.lang.NullPointerException – Thrown if array is null.

  • java.lang.IllegalArgumentException – Thrown if array is empty.

See also:

IEEE754rUtils#max(double[])IEEE754rUtils for a version of this method that handles NaN differently.

Since:

3.4 Changed signature from max(double[]) to max(double…)

public static float max(float a, float b, float c)[source]

Gets the maximum of three float values.

If any value is NaN, NaN is returned. Infinity is handled.

Parameters:
  • a – value 1.

  • b – value 2.

  • c – value 3.

Returns:

The largest of the values.

See also:

IEEE754rUtils#max(float, float, float)for a version of this method that handles NaN differently.

public static float max(float... array)[source]

Returns the maximum value in an array.

Parameters:

array – An array, must not be null or empty.

Returns:

The maximum value in the array.

Throws:
  • java.lang.NullPointerException – Thrown if array is null.

  • java.lang.IllegalArgumentException – Thrown if array is empty.

See also:

IEEE754rUtils#max(float[])IEEE754rUtils for a version of this method that handles NaN differently.

Since:

3.4 Changed signature from max(float[]) to max(float…).

public static int max(int a, int b, int c)[source]

Gets the maximum of three int values.

Parameters:
  • a – value 1.

  • b – value 2.

  • c – value 3.

Returns:

The largest of the values.

public static int max(int... array)[source]

Returns the maximum value in an array.

Parameters:

array – An array, must not be null or empty.

Returns:

The maximum value in the array.

Throws:
  • java.lang.NullPointerException – Thrown if array is null.

  • java.lang.IllegalArgumentException – Thrown if array is empty.

Since:

3.4 Changed signature from max(int[]) to max(int…).

public static long max(long a, long b, long c)[source]

Gets the maximum of three long values.

Parameters:
  • a – value 1.

  • b – value 2.

  • c – value 3.

Returns:

The largest of the values.

public static long max(long... array)[source]

Returns the maximum value in an array.

Parameters:

array – An array, must not be null or empty.

Returns:

The maximum value in the array.

Throws:
  • java.lang.NullPointerException – Thrown if array is null.

  • java.lang.IllegalArgumentException – Thrown if array is empty.

Since:

3.4 Changed signature from max(long[]) to max(long…).

public static short max(short a, short b, short c)[source]

Gets the maximum of three short values.

Parameters:
  • a – value 1.

  • b – value 2.

  • c – value 3.

Returns:

The largest of the values.

public static short max(short... array)[source]

Returns the maximum value in an array.

Parameters:

array – An array, must not be null or empty.

Returns:

The maximum value in the array.

Throws:
  • java.lang.NullPointerException – Thrown if array is null.

  • java.lang.IllegalArgumentException – Thrown if array is empty.

Since:

3.4 Changed signature from max(short[]) to max(short…).

public static byte min(byte a, byte b, byte c)[source]

Gets the minimum of three byte values.

Parameters:
  • a – value 1.

  • b – value 2.

  • c – value 3.

Returns:

The smallest of the values.

public static byte min(byte... array)[source]

Returns the minimum value in an array.

Parameters:

array – An array, must not be null or empty.

Returns:

The minimum value in the array.

Throws:
  • java.lang.NullPointerException – Thrown if array is null.

  • java.lang.IllegalArgumentException – Thrown if array is empty.

Since:

3.4 Changed signature from min(byte[]) to min(byte…).

public static double min(double a, double b, double c)[source]

Gets the minimum of three double values.

If any value is NaN, NaN is returned. Infinity is handled.

Parameters:
  • a – value 1.

  • b – value 2.

  • c – value 3.

Returns:

The smallest of the values.

See also:

IEEE754rUtils#min(double, double, double)for a version of this method that handles NaN differently.

public static double min(double... array)[source]

Returns the minimum value in an array.

Parameters:

array – An array, must not be null or empty.

Returns:

The minimum value in the array.

Throws:
  • java.lang.NullPointerException – Thrown if array is null.

  • java.lang.IllegalArgumentException – Thrown if array is empty.

See also:

IEEE754rUtils#min(double[])IEEE754rUtils for a version of this method that handles NaN differently.

Since:

3.4 Changed signature from min(double[]) to min(double…).

public static float min(float a, float b, float c)[source]

Gets the minimum of three float values.

If any value is NaN, NaN is returned. Infinity is handled.

Parameters:
  • a – value 1.

  • b – value 2.

  • c – value 3.

Returns:

The smallest of the values.

See also:

IEEE754rUtils#min(float, float, float)for a version of this method that handles NaN differently.

public static float min(float... array)[source]

Returns the minimum value in an array.

Parameters:

array – An array, must not be null or empty.

Returns:

The minimum value in the array.

Throws:
  • java.lang.NullPointerException – Thrown if array is null.

  • java.lang.IllegalArgumentException – Thrown if array is empty.

See also:

IEEE754rUtils#min(float[])IEEE754rUtils for a version of this method that handles NaN differently.

Since:

3.4 Changed signature from min(float[]) to min(float…).

public static int min(int a, int b, int c)[source]

Gets the minimum of three int values.

Parameters:
  • a – value 1.

  • b – value 2.

  • c – value 3.

Returns:

The smallest of the values.

public static int min(int... array)[source]

Returns the minimum value in an array.

Parameters:

array – An array, must not be null or empty.

Returns:

The minimum value in the array.

Throws:
  • java.lang.NullPointerException – Thrown if array is null.

  • java.lang.IllegalArgumentException – Thrown if array is empty.

Since:

3.4 Changed signature from min(int[]) to min(int…).

public static long min(long a, long b, long c)[source]

Gets the minimum of three long values.

Parameters:
  • a – value 1.

  • b – value 2.

  • c – value 3.

Returns:

The smallest of the values.

public static long min(long... array)[source]

Returns the minimum value in an array.

Parameters:

array – An array, must not be null or empty.

Returns:

The minimum value in the array.

Throws:
  • java.lang.NullPointerException – Thrown if array is null.

  • java.lang.IllegalArgumentException – Thrown if array is empty.

Since:

3.4 Changed signature from min(long[]) to min(long…).

public static short min(short a, short b, short c)[source]

Gets the minimum of three short values.

Parameters:
  • a – value 1.

  • b – value 2.

  • c – value 3.

Returns:

The smallest of the values.

public static short min(short... array)[source]

Returns the minimum value in an array.

Parameters:

array – An array, must not be null or empty.

Returns:

The minimum value in the array.

Throws:
  • java.lang.NullPointerException – Thrown if array is null.

  • java.lang.IllegalArgumentException – Thrown if array is empty.

Since:

3.4 Changed signature from min(short[]) to min(short…).

public static byte toByte(String str)[source]

Converts a String to a byte, returning zero if the conversion fails.

If the string is null, zero is returned.

  NumberUtils.toByte(null) = 0
  NumberUtils.toByte("")   = 0
  NumberUtils.toByte("1")  = 1
Parameters:

str – The string to convert, may be null.

Returns:

The byte represented by the string, or zero if conversion fails.

Since:

2.5

public static byte toByte(String str, byte defaultValue)[source]

Converts a String to a byte, returning a default value if the conversion fails.

If the string is null, the default value is returned.

  NumberUtils.toByte(null, 1) = 1
  NumberUtils.toByte("", 1)   = 1
  NumberUtils.toByte("1", 0)  = 1
Parameters:
  • str – The string to convert, may be null.

  • defaultValue – The default value.

Returns:

The byte represented by the string, or the default if conversion fails.

Since:

2.5

public static double toDouble(String str)[source]

Converts a String to a double, returning 0.0d if the conversion fails.

If the string str is null, 0.0d is returned.

  NumberUtils.toDouble(null)   = 0.0d
  NumberUtils.toDouble("")     = 0.0d
  NumberUtils.toDouble("1.5")  = 1.5d
Parameters:

str – The string to convert, may be null.

Returns:

The double represented by the string, or 0.0d if conversion fails.

Since:

2.1

public static double toDouble(String str, double defaultValue)[source]

Converts a String to a double, returning a default value if the conversion fails.

If the string str is null, the default value is returned.

  NumberUtils.toDouble(null, 1.1d)   = 1.1d
  NumberUtils.toDouble("", 1.1d)     = 1.1d
  NumberUtils.toDouble("1.5", 0.0d)  = 1.5d
Parameters:
  • str – The string to convert, may be null

  • defaultValue – The default value.

Returns:

The double represented by the string, or defaultValue if conversion fails.

Since:

2.1

public static double toDouble(BigDecimal value)[source]

Converts a BigDecimal to a double.

If the BigDecimal value is null, then the specified default value is returned.

  NumberUtils.toDouble(null)                     = 0.0d
  NumberUtils.toDouble(BigDecimal.valueOf(8.5d)) = 8.5d
Parameters:

value – The BigDecimal to convert, may be null.

Returns:

The double represented by the BigDecimal or 0.0d if the BigDecimal is null.

Since:

3.8

public static double toDouble(BigDecimal value, double defaultValue)[source]

Converts a BigDecimal to a double.

If the BigDecimal value is null, then the specified default value is returned.

  NumberUtils.toDouble(null, 1.1d)                     = 1.1d
  NumberUtils.toDouble(BigDecimal.valueOf(8.5d), 1.1d) = 8.5d
Parameters:
  • value – The BigDecimal to convert, may be null.

  • defaultValue – The default value.

Returns:

The double represented by the BigDecimal or the defaultValue if the BigDecimal is null.

Since:

3.8

public static float toFloat(String str)[source]

Converts a String to a float, returning 0.0f if the conversion fails.

If the string str is null, 0.0f is returned.

  NumberUtils.toFloat(null)   = 0.0f
  NumberUtils.toFloat("")     = 0.0f
  NumberUtils.toFloat("1.5")  = 1.5f
Parameters:

str – The string to convert, may be null.

Returns:

The float represented by the string, or 0.0f if conversion fails.

Since:

2.1

public static float toFloat(String str, float defaultValue)[source]

Converts a String to a float, returning a default value if the conversion fails.

If the string str is null, the default value is returned.

  NumberUtils.toFloat(null, 1.1f)   = 1.1f
  NumberUtils.toFloat("", 1.1f)     = 1.1f
  NumberUtils.toFloat("1.5", 0.0f)  = 1.5f
Parameters:
  • str – The string to convert, may be null.

  • defaultValue – The default value.

Returns:

The float represented by the string, or defaultValue if conversion fails.

Since:

2.1

public static int toInt(String str)[source]

Converts a String to an int, returning zero if the conversion fails.

If the string is null, zero is returned.

  NumberUtils.toInt(null) = 0
  NumberUtils.toInt("")   = 0
  NumberUtils.toInt("1")  = 1
Parameters:

str – The string to convert, may be null.

Returns:

The int represented by the string, or zero if conversion fails.

Since:

2.1

public static int toInt(String str, int defaultValue)[source]

Converts a String to an int, returning a default value if the conversion fails.

If the string is null, the default value is returned.

  NumberUtils.toInt(null, 1) = 1
  NumberUtils.toInt("", 1)   = 1
  NumberUtils.toInt("1", 0)  = 1
Parameters:
  • str – The string to convert, may be null.

  • defaultValue – The default value.

Returns:

The int represented by the string, or the default if conversion fails.

Since:

2.1

public static long toLong(String str)[source]

Converts a String to a long, returning zero if the conversion fails.

If the string is null, zero is returned.

  NumberUtils.toLong(null) = 0L
  NumberUtils.toLong("")   = 0L
  NumberUtils.toLong("1")  = 1L
Parameters:

str – The string to convert, may be null.

Returns:

The long represented by the string, or 0 if conversion fails.

Since:

2.1

public static long toLong(String str, long defaultValue)[source]

Converts a String to a long, returning a default value if the conversion fails.

If the string is null, the default value is returned.

  NumberUtils.toLong(null, 1L) = 1L
  NumberUtils.toLong("", 1L)   = 1L
  NumberUtils.toLong("1", 0L)  = 1L
Parameters:
  • str – The string to convert, may be null.

  • defaultValue – The default value.

Returns:

The long represented by the string, or the default if conversion fails.

Since:

2.1

public static BigDecimal toScaledBigDecimal(Double value)[source]

Converts a Double to a BigDecimal with a scale of two that has been rounded using RoundingMode.HALF_EVEN. If the supplied value is null, then BigDecimal.ZERO is returned.

Note, the scale of a BigDecimal is the number of digits to the right of the decimal point.

Parameters:

value – The Double to convert, may be null.

Returns:

The scaled, with appropriate rounding, BigDecimal.

Since:

3.8

public static BigDecimal toScaledBigDecimal(Double value, int scale, RoundingMode roundingMode)[source]

Converts a Double to a BigDecimal whose scale is the specified value with a RoundingMode applied. If the input value is null, we simply return BigDecimal.ZERO.

Parameters:
  • value – The Double to convert, may be null.

  • scale – The number of digits to the right of the decimal point.

  • roundingMode – A rounding behavior for numerical operations capable of discarding precision.

Returns:

The scaled, with appropriate rounding, BigDecimal.

Since:

3.8

public static BigDecimal toScaledBigDecimal(Float value)[source]

Converts a Float to a BigDecimal with a scale of two that has been rounded using RoundingMode.HALF_EVEN. If the supplied value is null, then BigDecimal.ZERO is returned.

Note, the scale of a BigDecimal is the number of digits to the right of the decimal point.

Parameters:

value – The Float to convert, may be null.

Returns:

The scaled, with appropriate rounding, BigDecimal.

Since:

3.8

public static BigDecimal toScaledBigDecimal(Float value, int scale, RoundingMode roundingMode)[source]

Converts a Float to a BigDecimal whose scale is the specified value with a RoundingMode applied. If the input value is null, we simply return BigDecimal.ZERO.

Parameters:
  • value – The Float to convert, may be null.

  • scale – The number of digits to the right of the decimal point.

  • roundingMode – A rounding behavior for numerical operations capable of discarding precision.

Returns:

The scaled, with appropriate rounding, BigDecimal.

Since:

3.8

public static BigDecimal toScaledBigDecimal(String value)[source]

Converts a String to a BigDecimal with a scale of two that has been rounded using RoundingMode.HALF_EVEN. If the supplied value is null, then BigDecimal.ZERO is returned.

Note, the scale of a BigDecimal is the number of digits to the right of the decimal point.

Parameters:

value – The String to convert, may be null.

Returns:

The scaled, with appropriate rounding, BigDecimal.

Since:

3.8

public static BigDecimal toScaledBigDecimal(String value, int scale, RoundingMode roundingMode)[source]

Converts a String to a BigDecimal whose scale is the specified value with a RoundingMode applied. If the input value is null, we simply return BigDecimal.ZERO.

Parameters:
  • value – The String to convert, may be null.

  • scale – The number of digits to the right of the decimal point.

  • roundingMode – A rounding behavior for numerical operations capable of discarding precision.

Returns:

The scaled, with appropriate rounding, BigDecimal.

Since:

3.8

public static BigDecimal toScaledBigDecimal(BigDecimal value)[source]

Converts a BigDecimal to a BigDecimal with a scale of two that has been rounded using RoundingMode.HALF_EVEN. If the supplied value is null, then BigDecimal.ZERO is returned.

Note, the scale of a BigDecimal is the number of digits to the right of the decimal point.

Parameters:

value – The BigDecimal to convert, may be null.

Returns:

The scaled, with appropriate rounding, BigDecimal.

Since:

3.8

public static BigDecimal toScaledBigDecimal(BigDecimal value, int scale, RoundingMode roundingMode)[source]

Converts a BigDecimal to a BigDecimal whose scale is the specified value with a RoundingMode applied. If the input value is null, we simply return BigDecimal.ZERO.

Parameters:
  • value – The BigDecimal to convert, may be null.

  • scale – The number of digits to the right of the decimal point.

  • roundingMode – A rounding behavior for numerical operations capable of discarding precision.

Returns:

The scaled, with appropriate rounding, BigDecimal.

Since:

3.8

public static short toShort(String str)[source]

Converts a String to a short, returning zero if the conversion fails.

If the string is null, zero is returned.

  NumberUtils.toShort(null) = 0
  NumberUtils.toShort("")   = 0
  NumberUtils.toShort("1")  = 1
Parameters:

str – The string to convert, may be null.

Returns:

The short represented by the string, or zero if conversion fails.

Since:

2.5

public static short toShort(String str, short defaultValue)[source]

Converts a String to an short, returning a default value if the conversion fails.

If the string is null, the default value is returned.

  NumberUtils.toShort(null, 1) = 1
  NumberUtils.toShort("", 1)   = 1
  NumberUtils.toShort("1", 0)  = 1
Parameters:
  • str – The string to convert, may be null.

  • defaultValue – The default value.

Returns:

The short represented by the string, or the default if conversion fails.

Since:

2.5