# Zwei int Werte dividieren  - Ergebnis Double



## b0rsti (17. Jan 2008)

Hallo,

ich habe zwei zahlen:
int zahl a
int zahl b

Rechenoperation:
a / b

Das ergebnis soll ein double sein.

Wenn ich das jetzt so mache funktioniert es nicht:

```
double ergebnis = (Double)a / (Double)b
```

Wie bekomme ich dann ein Gleitkommaergebnis hin?


----------



## lhein (17. Jan 2008)

```
double ergebnis = (double)a/b;
```

wäre meine Vermutung.


----------



## SlaterB (17. Jan 2008)

```
public class Test
{

    public static void main(String[] args)
        throws Exception
    {

        int a = 3;
        int b = 4;
        double ergebnis = (double)a / (double)b;
        System.out.println(ergebnis);
        ergebnis = (double)a / b;
        System.out.println(ergebnis);
        ergebnis = a / (double)b;
        System.out.println(ergebnis);
        ergebnis = (double)(a / b);
        System.out.println(ergebnis);
        ergebnis = a;
        ergebnis /= b;
        System.out.println(ergebnis);
    }
}
```


----------



## b0rsti (17. Jan 2008)

nee leider nicht, bekomme dann "inconvertible types"


----------



## b0rsti (17. Jan 2008)

ach scheiße hatte "double" groß geschrieben... :autsch:


----------



## SlaterB (17. Jan 2008)

arbeitest du denn mit Integer statt int?
Integer kannst du nicht mal eben auf Double casten wie int auf double,
schaue dir mein Beispiel an falls noch nicht gesehen
und poste ansonsten ähnlich vollständigen Code zu deinen Fehlermeldungen


----------



## lhein (17. Jan 2008)

```
int a = 10;
int b = 3;
double res = (double)a / b;
        
System.out.println(res);
```

eben probiert und geht. Keine Ahnung was Du da treibst, borsti.


----------



## b0rsti (17. Jan 2008)

ok danke funzt jetzt.

Wie kann ich das ergebnis auf 4 Nachkommastellen begrenzen?


----------



## SlaterB (17. Jan 2008)

http://www.java-forum.org/de/viewtopic.php?t=62456


----------



## b0rsti (17. Jan 2008)

so haut es bei mir nicht hin:

```
DecimalFormat("#0.00").format(ergebnis));
```


----------



## lhein (17. Jan 2008)

```
int a = 10;
        int b = 3;
        double res = (double)a / b;
    
        System.out.println(new DecimalFormat("#0.0000").format(res));
```


----------



## SlaterB (17. Jan 2008)

SlaterB hat gesagt.:
			
		

> schaue dir mein Beispiel an falls noch nicht gesehen
> -------------> und poste ansonsten ähnlich vollständigen Code zu deinen Fehlermeldungen <---------------


+ die Fehlermeldungen dazu


----------



## b0rsti (17. Jan 2008)

so schaut der code bei mir aus:

```
Object oAnzStimmenGesamt = zeile.elementAt(4);
            Object oMandateStimmen = zeile.elementAt(3);
            int a = (Integer) oAnzStimmenGesamt;
            int b = (Integer) oMandateStimmen;
            ergebnis = (double)b/a;
            System.out.println((new DecimalFormat("#0.0").format(ergebnis)));
            zeile.setElementAt(ergebnis, 5);
```

Ich möchte einfach nur, dass das ergebnis z.b. mit einer nachkommastelle gespeichert wird.


----------



## lhein (17. Jan 2008)

Zeig mal die Definition von "zeile" bitte.

lr


----------



## b0rsti (17. Jan 2008)

```
Vector zeile = (Vector) dataVec.elementAt(i);
```


----------



## SlaterB (17. Jan 2008)

wann willst du eigentlich dazu kommen, die Fehlermeldung zu posten?
ist ergebnis double oder Double?


----------

