Anzahl dezimal in BigDecimal extrahieren

7

Wie extrahiere ich mit BigDecimal eine Zahl nach dem Komma?

  

BigDecimal d = BigDecimal.valueOf (1548.5649);

Ergebnis: nur extrahieren: 5649

    
Mehdi 30.04.2012, 12:03
quelle

6 Antworten

10

Versuchen Sie:

%Vor%

druckt:

%Vor%     
dogbane 30.04.2012, 12:16
quelle
6

Probieren Sie BigDecimal.remainder :

%Vor%     
Nikita Beloglazov 30.04.2012 12:09
quelle
4

Dies sollte den Trick machen:

%Vor%

setScale() rundet die Zahl auf null Dezimalstellen ab und mutiert trotz des Namens nicht den Wert von d .

    
Matt McHenry 30.04.2012 12:09
quelle
1

Wenn der Wert negativ ist, wird mit d.subtract(d.setScale(0, RoundingMode.FLOOR)) eine falsche Dezimalzahl zurückgegeben.

Verwenden Sie :

%Vor%

Es gibt 5649 für 1548.5649 oder -1548.5649

zurück     
IvanRF 10.06.2015 15:43
quelle
0

Sie sagen nicht, welchen Typ Sie als Ergebnis haben möchten. Der einfachste Weg ist wahrscheinlich, BigDecimal in einen String umzuwandeln und einen Teilstring zu nehmen:

%Vor%     
JB Nizet 30.04.2012 12:12
quelle
-1

versuche, d.doubleValue() zu verwenden, um den doppelten Wert zu erhalten

    
user1335794 30.04.2012 12:10
quelle

Tags und Links