java.math.BigDecimal.toString()
puede devolver algo así como "0.888200000". ¿Qué puede ser lo mejor que puedo hacer si quiero "0.8882" en su lugar? Nunca puedo saber (a menos que lo calcule para cada caso particular) la longitud de la parte entera (izquierda al punto), el valor puede ser 123.8882 tan fácil como 123456.88.¿Cómo se sueltan ceros insignificantes al convertir un BigDecimal en una cadena en Java?
7
A
Respuesta
10
Uso stripTrailingZeros()
:
Devuelve una BigDecimal que es numéricamente igual a este, pero con los ceros se arrastran retirados de la representación.
Ver http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html
1
O, si las expresiones regulares de lujo:
Pattern p = Pattern.compile("(.*?)0*$");
Matcher m = p.matcher(yourString);
String result=m.group(1);
que podría ser más rápido que todo el material desordenado la clase BigInteger
hace internamente en su stripTrailingZeroes
método
+1
Una opción práctica para tener. Gracias. – Ivan
Cuestiones relacionadas
- 1. cómo convertir Cadena de porcentaje a BigDecimal?
- 2. Convertir BigDecimal en Integer
- 3. Cómo convertir BigInteger a BigDecimal?
- 4. Cómo convertir de float a bigDecimal en java?
- 5. En Java, ¿cómo se convierte una Cadena en un char o un char en una Cadena?
- 6. ¿Cómo hacer una potencia fraccionaria en BigDecimal en Java?
- 7. Recorte Más de dos ceros a la derecha en BigDecimal
- 8. Convertir doble a BigDecimal y establecer BigDecimal Precision
- 9. ¿Cómo convierto un valor numérico de cadena con un signo de dólar a BigDecimal en Java?
- 10. BigDecimal en Java
- 11. Relleno de ceros en una cadena
- 12. BigDecimal Problema en java
- 13. Cómo convertir Double.POSITIVE_INFINITY a BigDecimal?
- 14. convertir una cadena de color en Java
- 15. cómo convertir una cadena en un bool
- 16. cómo convertir BigInteger de cadena en Java
- 17. BigDecimal no se puede forzar en BigDecimal
- 18. Cómo convertir una cadena binaria a un entero de base 10 en Java
- 19. Comparación de BigDecimal e int en Java
- 20. Cómo convertir una cadena en byte en Java
- 21. truncar los ceros de una cadena en Javascript
- 22. Convertir manualmente una cadena a un entero en Java
- 23. ¿Cómo rellenar una cadena binaria con ceros?
- 24. Recortar los ceros al comienzo de una cadena usando PHP
- 25. Convertir byte en cadena en Java
- 26. ¿Cómo puedo crear un BigDecimal aleatorio en Java?
- 27. ¿Cómo trunco una cadena al convertir a bytes en C#?
- 28. ¿Cómo convertir una cadena hexagonal para flotar en Java?
- 29. ¿Hay un C++ equivalente al BigDecimal de Java?
- 30. ¿Cómo se implementa BigDecimal?
Gracias. Lo he echado de menos, ya que en realidad estoy codificando Scala y su envoltorio BigDecimal estándar no parece tener stripTrailingZeros :-( – Ivan
@Ivan: la biblioteca es la misma independientemente del idioma que usas, ¿no? Work (tm). –
Sí, es @ tj-crowder, pero normalmente evitamos usar tipos de Java directamente a menos que sea necesario en Scala; preferimos usar el "envoltorio" estándar de Scala sobre el tipo ('scala.math.BigDecimal') pero de hecho encapsula 'java.math.BigDecimal' y podemos acceder a él para usar una forma en que el contenedor no ofrece. – Ivan