|
MadBonsaiJr
|
| Titel: Double zu int |
22.10.2011 12:49 |
|
|
Anmeldungsdatum: 26.08.2009
Beiträge: 791
 |
Tutorial Autor (?) |
|
Heyho,
Ich möchte in Java aus einer double eine int variable machen. Quasi runden. Wie?
________________________________________ Pc: http://www.sysprofile.de/id146539 Phobie vor langen Wörtern: Hippopotomonstrosesquippedaliophobie
|
 |
|
| |
|
L3oop
|
| Titel: Double zu int |
22.10.2011 12:54 |
|
Moderator 45.021 Punkte (?)
Anmeldungsdatum: 25.04.2008
Beiträge: 9.399
 |
Experte |
|
Geht am einfachsten mit Typecasting, also zum Beispiel:
double var1 = 5.23; int var2 = (int)var1;
Die Nachkommastellen werden normalerweise einfach weggeschnitten, d.h. aus 5.23 oder 5.97 würde beispielsweise 5 werden.
________________________________________ Stereomix • Bootreihenfolge ändern • PC beschleunigen
|
 |
|
| |
|
MadBonsaiJr
|
| Titel: Double zu int |
22.10.2011 13:01 |
|
|
Anmeldungsdatum: 26.08.2009
Beiträge: 791
 |
Tutorial Autor (?) |
|
Und gibt es eine vergleichliche Methode mit Runden?
________________________________________ Pc: http://www.sysprofile.de/id146539 Phobie vor langen Wörtern: Hippopotomonstrosesquippedaliophobie
|
 |
|
| |
|
Nico1994
|
| Titel: Double zu int |
22.10.2011 13:09 |
|
|
Anmeldungsdatum: 29.09.2007
Beiträge: 817
Akzeptierte Antwort (+50 Punkte)
|
Jo ;)
if(var1 - (int) var 1 >= 0.50) { int var2 = (int)var1 + 1; return var2; } else { int var2 = (int)var1; return var2; }
Bitteschön ;D
[Zuletzt bearbeitet: 22.10.2011 13:45]
________________________________________ Mein System: http://www.sysProfile.de/id152502
|
 |
|
| |
|
MadBonsaiJr
|
| Titel: Double zu int |
22.10.2011 13:21 |
|
|
Anmeldungsdatum: 26.08.2009
Beiträge: 791
 |
Tutorial Autor (?) |
|
Zitat: if(var1 - (int) var 1 >= 0.50) { Das verstehe ich
Zitat: } else { int var2 = (int)var1; return var2; } Das auch Aber mal angenommen var1 ist 5.6. Dann stellt er fest, "oh, 0.6 ist größer als 0.5" dann:
Zitat: var2= var1 + 1 Was aber wäre
Zitat: var2= 5.6 + 1=6.6
Hab aber grade was im Internet gefunden, ich verbind das einfach mit deiner Methode: http://paste.ideaslabs.com/show/Laxw1ZSDpm
Edit: oder du hast einfach nur (int) vergessen ^^
[Zuletzt bearbeitet: 22.10.2011 13:21]
________________________________________ Pc: http://www.sysprofile.de/id146539 Phobie vor langen Wörtern: Hippopotomonstrosesquippedaliophobie
|
 |
|
| |
|
Nico1994
|
| Titel: Double zu int |
22.10.2011 13:25 |
|
|
Anmeldungsdatum: 29.09.2007
Beiträge: 817
|
Oh ja sry ^^ Fast ^^
int var2 = (int)var1 + 1;
So gings ^^
________________________________________ Mein System: http://www.sysProfile.de/id152502
|
 |
|
| |
|
L3oop
|
| Titel: Double zu int |
22.10.2011 13:29 |
|
Moderator 45.021 Punkte (?)
Anmeldungsdatum: 25.04.2008
Beiträge: 9.399
 |
Experte |
|
Eigentlich müsste man sich diese Mühe nicht machen, Java bietet nämlich auch die round-Funktion aus der Math-Klasse dafür an:
http://userpage.fu-berlin.de/~ram/pub/pu...tierung_de
Will man auf eine x Nachkommazahlen runden, einfach vor dem Runden die Zahl mit 10^x multiplizieren und nach dem Runden wieder durch 10^x dividieren.
________________________________________ Stereomix • Bootreihenfolge ändern • PC beschleunigen
|
 |
|
| |
|
MadBonsaiJr
|
| Titel: Double zu int |
22.10.2011 13:31 |
|
|
Anmeldungsdatum: 26.08.2009
Beiträge: 791
 |
Tutorial Autor (?) |
|
Danke für die Hilfe, doch trozdem brauch ich das (im Moment) garnich, denn wie's oft passieren kann hatte ich nur ein +1 zu viel. L3oop, irgendwie klappt dein Link bei mir nicht
________________________________________ Pc: http://www.sysprofile.de/id146539 Phobie vor langen Wörtern: Hippopotomonstrosesquippedaliophobie
|
 |
|
| |
|
L3oop
|
| Titel: Double zu int |
22.10.2011 13:40 |
|
Moderator 45.021 Punkte (?)
Anmeldungsdatum: 25.04.2008
Beiträge: 9.399
 |
Experte |
|
Komisch, vorhin ging er noch, macht aber nichts, im Prinzip gibst du der Methode Math.Round einfach die zu rundende Zahl mit.
________________________________________ Stereomix • Bootreihenfolge ändern • PC beschleunigen
|
 |
|
| |
|
|
|
|