Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 22:37

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Java] Runden Funktion ?

Discussion on [Java] Runden Funktion ? within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
Dєѕтіпатіоп's Avatar
 
elite*gold: 15
Join Date: Jul 2011
Posts: 142
Received Thanks: 27
[Java] Runden Funktion ?

Hey e*pvpers !

Ich suche nach einer Funktion in Java die mir einen double Wert rundet!
Ideal wäre eine Funktion die automatisch erkennt ob sie auf- oder abrunden muss .

Ansonsten wären auch einzelne Funktionen fürs auf oder abrunden okay !

Danke im Voraus..

MfG
Dєѕтіпатіоп is offline  
Old 11/30/2011, 19:51   #2
 
ZackBlack's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 334
Received Thanks: 79
Math.round(). Google ist dein Freund. (;
ZackBlack is offline  
Old 11/30/2011, 20:09   #3
 
XxharCs's Avatar
 
elite*gold: 34
Join Date: Apr 2011
Posts: 1,475
Received Thanks: 1,228
Wie ZackBlack sagte, Math.round() <- ist aber bisschen schlampig meiner meinung nach da man die vorgegebene Klasse Math verwendet und so..

Auf manuellem wege rundet man so: (hab dir auch ein beispiel programm geschrieben^^)
Code:
public class Runden
{
    public static void main(String[] args){

        String eingabe = JOptionPane.showInputDialog(null, "Geben Sie eine Zahl ein: ");
        double zahl = Double.parseDouble(eingabe);
        int x = (int)(zahl + 0.5); // runden
        JOptionPane.showMessageDialog(null, "Die gerundete Zahl lautet: " + x);
    }
}
Meiner Meinung nach ist es so besser und man hat einen schönen Programmierstil ^^
XxharCs is offline  
Thanks
1 User
Old 11/30/2011, 20:20   #4

 
Obilee's Avatar
 
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
Wenn du ein double zu einem Int castest oder zuweist rundet java automatisch

z.b

double b_wert = 133.7;
int i_wert = b_wert;

kommt für i_wert 134 raus.
Obilee is offline  
Thanks
1 User
Old 12/01/2011, 17:44   #5
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
Quote:
Wie ZackBlack sagte, Math.round() <- ist aber bisschen schlampig meiner meinung nach da man die vorgegebene Klasse Math verwendet und so..
aber die entwickler von sun/oracle können besser programmieren als du, und deshalb ist es wohl besser die mitgelieferten möglichkeiten zu nutzen
warfley is offline  
Thanks
1 User
Old 12/01/2011, 22:52   #6


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Die gepostete Funktion ist aber ziemlich eingeschränkt, man kann ja nichtmal wählen, wie genau sie runden soll.

@Obi: Echt? Nice :O Dachte immer, es ist in allen Sprachen gleich, dass beim Cast von Dezimalzahl zu Integer einfach der Rest abgeschnitten wird.
MrSm!th is offline  
Old 12/01/2011, 23:04   #7

 
Obilee's Avatar
 
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
Quote:
Originally Posted by MrSm!th View Post
Die gepostete Funktion ist aber ziemlich eingeschränkt, man kann ja nichtmal wählen, wie genau sie runden soll.

@Obi: Echt? Nice :O Dachte immer, es ist in allen Sprachen gleich, dass beim Cast von Dezimalzahl zu Integer einfach der Rest abgeschnitten wird.
Ja sorry hab gefailt, ist mir dann auch eingefallen dass dies auch in Java der Fall ist. ( das letzte mal musste ich vor nem Jahr oda so etwas runden...)

Um auf eine bestimmte Stelle zu runden macht es eher Sinn den BigDecimal zu nehmen:

Code:
BigDecimal big_dec = new BigDecimal( myDoubleValue );
big_dec = big_dec.setScale( 3, BigDecimal.ROUND_HALF_UP );
Da kannste auch sagen auf welche Stelle er runden soll und ob er dabei auf / ab rundet usw.
Obilee is offline  
Thanks
1 User
Old 12/06/2011, 12:56   #8
 
Kinu's Avatar
 
elite*gold: 10
Join Date: May 2006
Posts: 2,786
Received Thanks: 773
Quote:
Originally Posted by MrSm!th View Post
@Obi: Echt? Nice :O Dachte immer, es ist in allen Sprachen gleich, dass beim Cast von Dezimalzahl zu Integer einfach der Rest abgeschnitten wird.
Ist auch so

+0.5 und dann auf Integer casten. Fertig ist das runden

Code:
double zahlzumrunden = 0.7;
int gerundeteZahl = (int)(zahlzumrunden + 0.5 );
Kinu is offline  
Reply


Similar Threads Similar Threads
[JAVA Error] Could not create the java virtual machine
07/21/2013 - Technical Support - 10 Replies
Schönen Abend! Leider hat es sich aus einem unerfindlichen Grund ergeben, dass sobald ich die Minecraft.exe starten will die Errormeldung kommt. Die Tips auf Minecraft.net habe ich schon ohne Erfolg befolgt. Hoffe ihr könnt mir weiterhelfen... Mein PC:
[Java] Could not create the Java virtual machine
06/22/2011 - Minecraft - 1 Replies
hallo ihr minecraftler ^^ habe seit heute das problem das wenn ich minecraft starte original als auch cracked das diese fehlermeldung kommt: Java virtual machine Launcher Could not create the Java virtual machine
Hilfe bei Send Funktion mit Stop Funktion
04/02/2011 - AutoIt - 11 Replies
Hallo Elitepvpers ich habe ein Problem und Mein Problem ist das mein Text einfach weiter schreibt wenn ich mit HotKey verwende... gib es keine Funktion das der Text einmal kommt und nicht wenn man einmal die HotKey das er 10 min das selbe schreibt :confused:



All times are GMT +1. The time now is 22:38.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.