Number (@NotNull String text, @NotNull Class targetClass) { try { String trimmed = text.trim(); if (targetClass.equals(Byte.class) || targetClass.equals(byte.class)) { return Byte.decode(trimmed); } if (targetClass.equals(Short.class) || targetClass.equals(short.class)) { return Short.decode(trimmed); } if (targetClass.equals(Integer.class) || targetClass.equals(int.class)) { return Integer.decode(trimmed); } if (targetClass.equals(Long.class) || targetClass.equals(long.class)) { return Long.decode(trimmed); } if (targetClass.equals(BigInteger.class)) { return decodeBigInteger(trimmed); } if (targetClass.equals(Float.class) || targetClass.equals(float.class)) { return Float.valueOf(trimmed); } if (targetClass.equals(Double.class) || targetClass.equals(double.class)) { return Double.valueOf(trimmed); } if (targetClass.equals(BigDecimal.class) || targetClass.equals(Number.class)) { return new BigDecimal(trimmed); } } catch (NumberFormatException ex) { return null; } return null; }