2012-02-06 3 views

Odpowiedz

10

Zastosowanie stripTrailingZeros():

Zwraca BigDecimal który jest liczbowo równa ten ale przy zer usuniętych z reprezentacji.

Zobacz http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html

+0

dzięki. Tęskniłem za tym, ponieważ faktycznie koduję Scalę, a jego standardowe opakowanie BigDecimal nie wygląda na stripTrailingZeros :-( – Ivan

+1

@Ivan: Biblioteka jest taka sama bez względu na język, którego używasz, więc mam nadzieję, że będzie po prostu Praca (tm). –

+1

Tak, to jest @ tj-crowder, ale zwykle unikamy używania typów Java bezpośrednio, chyba że jest to konieczne w Scali - wolimy używać standardowego "opakowania" Scala nad typem ('scala.math.BigDecimal'), ale to faktycznie obejmuje 'java.math.BigDecimal' i możemy uzyskać do niego dostęp w taki sposób, jakiego nie oferuje opakowanie .. – Ivan

1

Albo, jeśli masz ochotę wyrażenia regularne:

Pattern p = Pattern.compile("(.*?)0*$"); 
Matcher m = p.matcher(yourString); 
String result=m.group(1); 

które mogą być szybciej niż cały bałagan rzeczy klasa BigInteger robi wewnętrznie w swojej stripTrailingZeroes metody

+1

Poręczna opcja. Dzięki. – Ivan