setparsebigdecimal parsear parse cast java string parsing bigdecimal decimalformat

java - parsear - talend bigdecimal



¿Cómo puedo analizar un String a BigDecimal? (4)

BigDecimal ofrece un constructor de cadenas. Tendrá que quitar todas las comas del número, mediante una expresión regular o String filteredString=inString.replaceAll(",","") .

Entonces simplemente llama a BigDecimal myBigD=new BigDecimal(filteredString);

También puede crear un NumberFormat y llamar a setParseBigDecimal(true) . Luego parse( le dará un BigDecimal sin preocuparse por el formateo manual.

Esta pregunta ya tiene una respuesta aquí:

Tengo este String: 10,692,467,440,017.120 (es una cantidad).

Quiero analizarlo en un BigDecimal. El problema es que he probado tanto DecimalFormat como NumbeFormat en vano. ¿Alguna ayuda?



Prueba esto

String str="10,692,467,440,017.120".replaceAll(",",""); BigDecimal bd=new BigDecimal(str);


Prueba esto

// Create a DecimalFormat that fits your requirements DecimalFormatSymbols symbols = new DecimalFormatSymbols(); symbols.setGroupingSeparator('',''); symbols.setDecimalSeparator(''.''); String pattern = "#,##0.0#"; DecimalFormat decimalFormat = new DecimalFormat(pattern, symbols); decimalFormat.setParseBigDecimal(true); // parse the string BigDecimal bigDecimal = (BigDecimal) decimalFormat.parse("10,692,467,440,017.120"); System.out.println(bigDecimal);

Si está creando una aplicación con soporte I18N, debe usar DecimalFormatSymbols(Locale)

También tenga en cuenta que decimalFormat.parse puede lanzar una ParseException por lo que debe manejarla (con try / catch) o lanzarla y dejar que otra parte de su programa la maneje