setscale bigdecimal

Status
Nicht offen für weitere Antworten.

noisebreath

Bekanntes Mitglied
hi,

hat jemand ne ahnung warum er mir in dieser funktion die kommastellen nicht setzt?

Code:
	private BigDecimal getGSResult(ImportLine row){
		BigDecimal ret;
		ret =  	new BigDecimal(1/
				((compareValues(row.getSL20_1(),row.getSL20_2())).doubleValue()
				* 17.29
				+ (compareValues(row.getGW_1(),row.getGW_2())).doubleValue()
				* 17.29  
				+ (compareValues(row.getDR_1(),row.getDR_2())).doubleValue()
				* 4.11
				+ (compareValues(row.getBK_1(),row.getBK_2())).doubleValue()
				* 2.41
				+ getTSResult(row))
				* 10000);	
		ret.setScale(2,BigDecimal.ROUND_HALF_UP);
		return ret;
	}

zusätzlich ist etwas anderes sehr komisch wenn ich nur

ret.setScale(2);

mache wirft er mir nen fehler und sagt "rounding necessary".

komischerweise wirft er mir diesen fehler nie bei allen anderen funktionen in denen ich das setscale ohne runden benutze. nur bei der obigen.

bin mit meinem latein am ende und steh extrem unter zeitdruck. wenn mir jemand was dazu sagen kann wäre ich sehr dankbar
 
S

SlaterB

Gast
BigDecimals sind wie Strings unveränderlich:

ret = ret.setScale(2,BigDecimal.ROUND_HALF_UP);


> komischerweise wirft er mir diesen fehler nie bei allen anderen funktionen in denen ich das setscale ohne runden benutze. nur bei der obigen.

vielleicht wird bei den anderen anders gerechnet, so dass nicht so viele Nachkommastellen reinkommen

alles als double auszurechnen und am Ende BigDecimal ist ja auch bisschen komisch
 

noisebreath

Bekanntes Mitglied
oki so gehts :

ret = ret.setScale(2,BigDecimal.ROUND_HALF_UP);

aber verstehe noch immer nicht warum das runden nötig ist.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Robertop BigDecimal ergänzt unnötige 0 am Ende Allgemeine Java-Themen 6
M Probleme mit BigDecimal Allgemeine Java-Themen 1
ARadauer Checksumme über BigDecimal Werte Allgemeine Java-Themen 11
M float, double, BigDecimal Allgemeine Java-Themen 5
A Ungünstige BigDecimal-Klasse Allgemeine Java-Themen 44
ARadauer BigDecimal und Not a Number Allgemeine Java-Themen 4
R BigDecimal, Position des Kommas Allgemeine Java-Themen 2
J Umstellung von double auf BigDecimal Allgemeine Java-Themen 5
F BigDecimal devide Allgemeine Java-Themen 5
S wiedermal ein kleines Problem mit BigDecimal Allgemeine Java-Themen 5
B BigDecimal Schleifen Allgemeine Java-Themen 9
J BigInteger und BigDecimal im Eclipse-Debugger Allgemeine Java-Themen 3
hdi Probleme beim Rechnen mit BigDecimal Allgemeine Java-Themen 5
N BigDecimal falsch formatiert bei Locale.GERMANY Allgemeine Java-Themen 3
S String to BigDecimal Allgemeine Java-Themen 6
N BigDecimal.divide Problem Allgemeine Java-Themen 6
M String to BigDecimal Allgemeine Java-Themen 7
N BigDecimal formatieren Allgemeine Java-Themen 2
André Uhres BigDecimal in HashSet eingefügt, aber nicht in TreeSet Allgemeine Java-Themen 2
G BigDecimal Rundet falsche Allgemeine Java-Themen 4
T bigdecimal.pow(0.5) Allgemeine Java-Themen 19
0 Keine clone-Methode für BigDecimal und BigInteger? Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben