2012-02-06 8 views

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

+0

Gracias. Lo he echado de menos, ya que en realidad estoy codificando Scala y su envoltorio BigDecimal estándar no parece tener stripTrailingZeros :-( – Ivan

+1

@Ivan: la biblioteca es la misma independientemente del idioma que usas, ¿no? Work (tm). –

+1

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

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