Avatar billede mik28 Seniormester
30. september 2010 - 09:35 Der er 10 kommentarer og
1 løsning

BigDecimal

Hvordan ganger jeg en BigDecimal. Jeg har prøvet det her

BigDecimal belob;

public BigDecimal getMinmetode() {
    return belob.multiply(2.26);
}
Avatar billede tjp Mester
30. september 2010 - 09:50 #1
2.26 skal vel konverteres til BigDecimal:

BigDecimal belob;

public BigDecimal getMinmetode() {
    return belob.multiply(BigDecimal(2.26));
}
Avatar billede mik28 Seniormester
30. september 2010 - 10:04 #2
Det ville jeg også mene, men jeg får "Methodcall expected"
Avatar billede DFH86 Nybegynder
30. september 2010 - 10:22 #3
Prøv dette:

  public BigDecimal getBigDecimalFromBelob(Double belob)
  {
    String strBelob = belob.toString();
    BigDecimal bigD = new BigDecimal(strBelob);
    return bigD;
  }

I teorien tror jeg også bare du kunne skrive:
BigDecimal bigD = new BigDecimal("" + belob);

Håber det hjalp.
Avatar billede tjp Mester
30. september 2010 - 10:30 #4
Åh ja, det er tidligt på morgenen.. mangler jo 'new'. ;-)

Desuden skal belob være initialiseret før brug, fx:

BigDecimal belob = new BigDecimal(4.2);

public BigDecimal getMinmetode() {
    return belob.multiply(new BigDecimal(2.26));
}
Avatar billede DFH86 Nybegynder
30. september 2010 - 10:33 #5
Ovenstående er hvis du bare vil have den returneret med det samme antal decimaler som din double værdi.

Brug denne metode hvis du vil returnere med 7 decimaler. Gennem MathContext kan du selv vælge hvor mange decimaler du vil konvertere med.

  public BigDecimal getBigDecimalFromBelob(Double belob)
  {
  BigDecimal bigD = new BigDecimal(2.26, MathContext.DECIMAL32);
    return bigD;
  }
Avatar billede arne_v Ekspert
30. september 2010 - 15:15 #6
return belob.multiply(new BigDecimal(2.26));

boer laves som:

return belob.multiply(new BigDecimal("2.26"));

eller introducerer man FP usikkerhed.
Avatar billede tjp Mester
30. september 2010 - 16:22 #7
Eller:

return belob.multiply(BigDecimal.valueOf(2.26));


:-)
Avatar billede arne_v Ekspert
01. oktober 2010 - 05:19 #8
Den ser ud som følger i SUN Java:

    public static BigDecimal valueOf(double val) {
        return new BigDecimal(Double.toString(val));
    }

Constructor med String er bedre.
Avatar billede mik28 Seniormester
02. oktober 2010 - 08:52 #9
tak for hjælpen. Ligger I nogle svar
Avatar billede tjp Mester
02. oktober 2010 - 11:20 #10
Svar.. :-)
Avatar billede mik28 Seniormester
02. oktober 2010 - 16:11 #11
tak for hjælpen allesammen ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester