|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectabk.core.util.NumberUtils
public final class NumberUtils
Contiene métodos de utilidad para trabajar con números.
Field Summary | |
---|---|
static Byte |
BYTE_ZERO
Constante cero para la clase Byte. |
static Double |
DOUBLE_ZERO
Constante cero para la clase Double. |
static Float |
FLOAT_ZERO
Constante cero para la clase Float. |
static Integer |
INTEGER_ZERO
Constante cero para la clase Integer. |
static Long |
LONG_ZERO
Constante cero para la clase Long. |
static Short |
SHORT_ZERO
Constante cero para la clase Short. |
Constructor Summary | |
---|---|
private |
NumberUtils()
|
Method Summary | ||
---|---|---|
static byte |
byteValue(Number n)
Devuelve el valor de un Number como byte , o 0 si el número es nulo. |
|
static BigDecimal |
createBigDecimal(String value)
Convierte una cadena de texto en BigDecimal. |
|
static BigInteger |
createBigInteger(String value)
Convierte una cadena de texto en BigInteger. |
|
static Byte |
createByte(String value)
Convierte una cadena de texto en Byte. |
|
static Double |
createDouble(String value)
Convierte una cadena de texto en Double. |
|
static Float |
createFloat(String value)
Convierte una cadena de texto en Float. |
|
static Integer |
createInteger(String value)
Convierte una cadena de texto en Integer. |
|
static Long |
createLong(String value)
Convierte una cadena de texto en Long. |
|
static Number |
createNumber(String value)
Convierte un String en un número usando la subclase de Number que menos pese. |
|
static Number |
createNumber(String value,
NumberFormat format)
Convierte un String en un número usando una especificación de formato de conversión. |
|
private static Number |
createNumberDecimal(String val,
int decPos,
int expPos)
|
|
private static Number |
createNumberInteger(String val)
|
|
static Short |
createShort(String value)
Convierte una cadena de texto en Short. |
|
static double |
doubleValue(Number n)
Devuelve el valor de un Number como double , o 0 si el número es nulo. |
|
static float |
floatValue(Number n)
Devuelve el valor de un Number como float , o 0 si el número es nulo. |
|
static int |
intValue(Number n)
Devuelve el valor de un Number como int , o 0 si el número es nulo. |
|
private static boolean |
isAllZeros(String str)
|
|
private static boolean |
isAllZeros(String val,
int decPos,
int expPos)
|
|
static long |
longValue(Number n)
Devuelve el valor de un Number como long , o 0 si el número es nulo. |
|
static BigDecimal |
nullToZero(BigDecimal n)
Devuelve cero si un número es nulo, o bien el mismo número en otro caso. |
|
static BigInteger |
nullToZero(BigInteger n)
Devuelve cero si un número es nulo, o bien el mismo número en otro caso. |
|
static Byte |
nullToZero(Byte n)
Devuelve cero si un número es nulo, o bien el mismo número en otro caso. |
|
static Double |
nullToZero(Double n)
Devuelve cero si un número es nulo, o bien el mismo número en otro caso. |
|
static Float |
nullToZero(Float n)
Devuelve cero si un número es nulo, o bien el mismo número en otro caso. |
|
static Integer |
nullToZero(Integer n)
Devuelve cero si un número es nulo, o bien el mismo número en otro caso. |
|
static Long |
nullToZero(Long n)
Devuelve cero si un número es nulo, o bien el mismo número en otro caso. |
|
static Short |
nullToZero(Short n)
Devuelve cero si un número es nulo, o bien el mismo número en otro caso. |
|
static
|
nullToZero(T t,
Class<T> clann)
Devuelve cero si un número es nulo, o bien el mismo número en otro caso. |
|
private static NumberFormatException |
numberFormatExceptionOf(String val,
Throwable t)
|
|
static
|
parseAs(String value,
Class<T> type)
Trata de parsear un cadena de texto como un número a del tipo indicado. |
|
static
|
parseAs(String value,
T as)
Trata de parsear un cadena de texto como un número, recuperando el tipo de objeto final desde el argumento as. |
|
static short |
shortValue(Number n)
Devuelve el valor de un Number como short , o 0 si el número es nulo. |
|
private static String |
skipPlusSign(String val)
|
|
static boolean |
testBits(int bits,
int maskYes,
int maskNot)
Comprueba si un entero tiene activados un conjunto de bits y desactivado otro conjunto de bits. |
|
static
|
zeroOf(Class<T> clann)
Devuelve una instancia del tipo que se le indica correspondiente a un valor cero. |
|
static
|
zeroToNull(T t)
Devuelve null si un número vale cero o es nulo, o bien el mismo número
en otro caso. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final Integer INTEGER_ZERO
public static final Long LONG_ZERO
public static final Short SHORT_ZERO
public static final Byte BYTE_ZERO
public static final Double DOUBLE_ZERO
public static final Float FLOAT_ZERO
Constructor Detail |
---|
private NumberUtils()
Method Detail |
---|
public static final <T extends Number> T parseAs(String value, T as)
value
- Valor que se parsea.as
- Objeto usado para saber el tipo exacto de la clave: Long, Integer,
Short, Byte, Double, Float, BigInteger o
BigDecimal, AtomicInteger.
IllegalClassException
- si as no se corresponde con ningún tipo
numérico reconocido.
NullArgumentException
- si as es nulo.
NumberFormatException
- si value no puede ser parseado al tipo de
número indicado.public static final <T extends Number> T parseAs(String value, Class<T> type)
T
- Tipo de número al que parseamos. Puede ser Long, Integer,
Short, Byte, Double, Float, BigInteger o
BigDecimal.value
- Valor que se parsea.type
- Clase que identifica a T.
IllegalClassException
- si type no se corresponde con ningún tipo
numérico reconocido.
NullArgumentException
- si type es nulo.
NumberFormatException
- si value no puede ser parseado al tipo de
número indicado.public static final boolean testBits(int bits, int maskYes, int maskNot)
bits
- Entero a probar.maskYes
- Máscara con los bits que deben estar presentes, puestos a uno.maskNot
- Máscara con los bits que deben estar ausentes, puestos a cero.
true
si se cumple la condición.public static final byte byteValue(Number n)
byte
, o 0 si el número es nulo.
n
- Número que se consulta.
public static final short shortValue(Number n)
short
, o 0 si el número es nulo.
n
- Número que se consulta.
public static final int intValue(Number n)
int
, o 0 si el número es nulo.
n
- Número que se consulta.
public static final long longValue(Number n)
long
, o 0 si el número es nulo.
n
- Número que se consulta.
public static final float floatValue(Number n)
float
, o 0 si el número es nulo.
n
- Número que se consulta.
public static final double doubleValue(Number n)
double
, o 0 si el número es nulo.
n
- Número que se consulta.
public static final <T extends Number> T zeroToNull(T t)
null
si un número vale cero o es nulo, o bien el mismo número
en otro caso.
T
- Tipo del número que recibe y devuelve.t
- Número a evaluar.
null
si t valía cero.public static final <T extends Number> T zeroOf(Class<T> clann)
T
- Tipo numérico que deseamos para la salida.clann
- Clase correspondiente al tipo de número para cual pedimos un cero.
NullArgumentException
- si clann es nulo.
IllegalClassException
- si clann no se corresponde con ninguno de los tipos
de números reconocidos: Integer, Long,,
Short, Byte, Double, Float,
BigInteger y BigDecimal.Number
public static final <T extends Number> T nullToZero(T t, Class<T> clann)
T
- Tipo del número que recibe y devuelve.t
- Número a evaluar.clann
- Clase de T.
null
si t vale cero.zeroOf(Class)
public static final Integer nullToZero(Integer n)
n
- Número a evaluar.
public static final Long nullToZero(Long n)
n
- Número a evaluar.
public static final Short nullToZero(Short n)
n
- Número a evaluar.
public static final Byte nullToZero(Byte n)
n
- Número a evaluar.
public static final Double nullToZero(Double n)
n
- Número a evaluar.
public static final Float nullToZero(Float n)
n
- Número a evaluar.
public static final BigInteger nullToZero(BigInteger n)
n
- Número a evaluar.
public static final BigDecimal nullToZero(BigDecimal n)
n
- Número a evaluar.
public static final Integer createInteger(String value)
value
- Texto a convertir.
null
si el valor es una cadena nula o vacía.
NumberFormatException
- si el valor recuperado no tiene un formato adecuado para un
número entero.Integer.decode(String)
public static final Long createLong(String value)
value
- Texto a convertir.
null
si el valor es una cadena nula o vacía.
NumberFormatException
- si el valor recuperado no tiene un formato adecuado para un
número largo.Long.decode(String)
public static final Short createShort(String value)
value
- Texto a convertir.
null
si el valor es una cadena nula o vacía.
NumberFormatException
- si el valor recuperado no tiene un formato adecuado para un
número corto.Short.decode(String)
public static final Byte createByte(String value)
value
- Texto a convertir.
null
si el valor es una cadena nula o vacía.
NumberFormatException
- si el valor recuperado no tiene un formato adecuado para un
byte.Byte.decode(String)
public static final Double createDouble(String value)
value
- Texto a convertir.
null
si el valor es una cadena nula o vacía.
NumberFormatException
- si el valor recuperado no tiene un formato adecuado para un
número decimal.Double.valueOf(String)
public static final Float createFloat(String value)
value
- Texto a convertir.
null
si el valor es una cadena nula o vacía.
NumberFormatException
- si el valor recuperado no tiene un formato adecuado para un
número decimal corto.Float.valueOf(String)
public static final BigDecimal createBigDecimal(String value)
value
- Texto a convertir.
null
si el valor es una cadena nula o vacía.
NumberFormatException
- si el valor recuperado no tiene un formato adecuado para un
BigDecimal.public static final BigInteger createBigInteger(String value)
value
- Texto a convertir.
null
si el valor es una cadena nula o vacía.
NumberFormatException
- si el valor recuperado no tiene un formato adecuado para un
BigInteger.public static final Number createNumber(String value)
Los tipos de número que puede devolver son BigDecimal, Double, Float, BigInteger, Long, Integer, Short o Byte.
Cuando se devuelve un valor Double, será un Double válido, y no
NaN
o ±infinito.
value
- Valor a convertir
null
si value
es nulo o vacío.
NumberFormatException
- si value es una cadena no vacía que no se
corresponde con un número válido.private static String skipPlusSign(String val)
private static NumberFormatException numberFormatExceptionOf(String val, Throwable t)
private static Number createNumberDecimal(String val, int decPos, int expPos)
private static Number createNumberInteger(String val)
private static boolean isAllZeros(String val, int decPos, int expPos)
private static boolean isAllZeros(String str)
public static final Number createNumber(String value, NumberFormat format)
value
- Valor a convertir.format
- Formato del número en el texto.
null
si el valor es una cadena nula o vacía.
NumberFormatException
- si el valor recuperado no tiene un formato adecuado para un
número.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |