Elimina todos los puntos repetidos o cualquier punto decimal después del primero al convertir un string a double en Java.
Tengo una cadena que puede tener un valor como 1000.021, que luego convierto a double utilizando el siguiente método:
double amount = Double.parseDouble(1000.021);
Esto funciona bien cuando solo hay un lugar decimal, pero cuando obtengo un valor de cadena como 1000.021.2344.455, falla al convertir el double de una cadena a double. ¿Cómo puedo eliminar los lugares decimales adicionales después del primero, de manera que tenga un double como 1000.0212344455 cuando obtengo un valor como 1000.021.2344.455?
A continuación, se muestra lo que he intentado, pero simplemente elimina todos los lugares decimales y solo acepta un número con un solo lugar decimal en el formato:
new DecimalFormat("#").format(100.22);
davy.ai
Para resolver este problema, puedes seguir los siguientes pasos:
Double.parseDouble()
.Aquí tienes un ejemplo de código:
Ten en cuenta que el método
split()
toma una expresión regular como delimitador, por lo tanto es necesario escapar el punto con una barra invertida (\.).