# String mit 2 Stellen nach dem Komma (Dezimalzahl)



## Darcoda (7. Feb 2008)

Alsooooooo gestern wurde mir ja schon geholfen...


```
public String getBewer(String s)
    {
        String as[] = (String[])users.get(s.toLowerCase());
        String s1 = as[29];
        String s3 = as[30];
        s3 = master.pstring.replace(s3, "0", "1");
        String s2 = Integer.toString(Integer.parseInt(s1) / Integer.parseInt(s3));
        return s2;
        }
```

Nehmen wir an... s1 = 5 und s3 ist = 2
dann gibt er mir als Ausgabe 2, wie mach ich das aber das er mir 2,5 ausgibt? Und auch wenn nun zum Beispiel 10 / 3 ist nicht 3,33333333333333333333 sondern 3,3??


----------



## Ariol (7. Feb 2008)

```
String s2 = Double.toString(Math.round(Double.parseInt(s1)*10 / Double.parseInt(s3))/10);
```

(untested)

EDIT:
Nach deinen Beispielen willst du 1 Stelle hinterm Komma und nicht 2, oder?


----------



## outbreaker (7. Feb 2008)

schau dir mal DecimalFormat an
damit kannst du die Zahlen Formatieren und umwandeln wie du möchtest

Bsp:


```
System.out.println(new DecimalFormat("#.0").format(55555.22221111));
```

Ausgabe





> 55555.2


----------



## Darcoda (7. Feb 2008)

geht nicht, weil es ein Return mit einem String ist, was macht man da?


----------



## SlaterB (7. Feb 2008)

deine Nachfrage ist nicht verständlich,

es wurde geklärt wie man mit Double rechnet und Ergebnisse als String formatiert,
was möchtest du mehr?


----------



## Darcoda (7. Feb 2008)

so habs drin, nun gibt er mir immer noch nur 2 raus, weil er oben anscheinend rundet in der Rechnung... Er Rechnet: 5/2 und Ausgabe ist 2, sollte aber 2,5 sein nicht?


----------



## Darcoda (7. Feb 2008)

wenn ich das mit dem Double mache, kommt das zurück

Registry.java:361:54: cannot find symbol
symbol  : method parseInt(java.lang.String)
location: class java.lang.Double
        String s2 = Double.toString(Math.round(Double.parseInt(s1)*10 / Double.parseInt(s3))/10);
                                                     ^
Registry.java:361:79: cannot find symbol
symbol  : method parseInt(java.lang.String)
location: class java.lang.Double
        String s2 = Double.toString(Math.round(Double.parseInt(s1)*10 / Double.parseInt(s3))/10);


----------



## SlaterB (7. Feb 2008)

gut, Double.parseInt macht ja auch keinen Sinn, du willst ja extra doubles und keine ints haben

Double.parseDouble() heißt das


----------



## Giftstachel (7. Feb 2008)

vor allem sind int's ja keine kommazahlen, also wenn du nach int parst, gehts eh nicht.
nur double oder float...


----------



## Ariol (7. Feb 2008)

Ups, da hab ich wohl was vergessen auszutauschen ... ^^


----------

