Pregunta

Estoy frente a un problema de gran decimal no. Siguiendo fragmento de código explicará mi problema:

 BigDecimal parsedValue = (BigDecimal) decimalFormat.parse(input);

Aquí entrada es un tipo de cadena. Ahora valor suponen de entrada es 135abc24 en este caso el valor de parsedValue es 135 , pero quiero comprobar si dichas entradas y darle un error en lugar de truncar la cadena y el resto de la Parte . Sólo quiero añadir cadena de entrada puede contener también nos exponencial, por lo que ni siquiera puedo comprobar si hay sólo cadenas numéricas. Por favor, hágamelo saber si desea más información o o pregunta no es clara,

Gracias de antemano.

¿Fue útil?

Solución

Puede usar BigDecimal de cadena constructor para crear el BigDecimal (ver el enlace para más detalles) y aplicar cualquier transformación que desea a sus beforehands cadena de entrada. El constructor lanza una NumberFormatException si la entrada no es una representación válida.

Otros consejos

De acuerdo con la documentación, soportes DecimalFormat.parse() un segundo argumento en la forma de una referencia ParsePosition, que se actualiza con la posición en la que el análisis se detuvo. A continuación, puede comparar eso con el comienzo de la cadena, y determinar si la cadena entera fue aceptada o no.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top