Runden auf eine Nachkommastelle

Status
Nicht offen für weitere Antworten.

Pluta

Mitglied
WIe schaffe ich es eine Integerzahl auf EINE Nachkommestalle abzurunden, wobei die Anzahl der NAchkommastellen desöfteren variiert
 

JPKI

Top Contributor
Code:
float f = 12345.6789f;
String s = String.valueOf(f);
float rounded = Double.parseDouble(s.substring(0,s.lastIndexOf('.')+1));
 

JPKI

Top Contributor
:oops: Upps, was für ein peinlicher Fehler :wink: :oops:
Bitte sehr:
Code:
float f = 12345.6789f;
String s = String.valueOf(f);
float rounded = Float.parseFloat(s.substring(0,s.lastIndexOf('.')+1));
 

Pluta

Mitglied
Scheint ja einigermassen zu funktionieren. jedoch steht nach dem Komma immer eine 0. Müßte ja die letzte Zahl schon gerundet dort stehen haben
 

Pluta

Mitglied
public class Hauptprogramm {

public static void main(String[] args)
{int monat = 4, jahr = 1919, ErgebnisF = 1, ErgebnisQS = 0, Ergebnis1, zaehler, zaehler2 = 0, Anzahla = 0, Anzahle = 0;
float groesse = 1.81f, Ergebnis2 = 0, rounded = 0, Ergebnis3 = 0; double result = 0;
String Name = "Dieter Zuschulte";
boolean weiblich;
char buchstabe;
weiblich = false;



{for (zaehler = 1; zaehler <= monat; zaehler++) ErgebnisF = ErgebnisF * zaehler;}


{
while (jahr > 0)
{ErgebnisQS += jahr % 10;
jahr /= 10;}}



{Ergebnis1 = ErgebnisF + ErgebnisQS;}



{Ergebnis2 = Ergebnis1 * groesse;}



int laenge = Name.length() - 1;
do {buchstabe = Name.charAt(zaehler2); if (buchstabe == 'a') Anzahla = Anzahla + 1;
else if (buchstabe == 'e' ) Anzahle = Anzahle + 1;}
while (zaehler2++ < laenge);
if (Anzahla < 1) Anzahla = 1;
if (Anzahle < 1) Anzahle = 1;







if (weiblich == true) Ergebnis3 = Ergebnis2 / Anzahla;
if (weiblich == false) Ergebnis3 = Ergebnis2 / Anzahle;


float f = Ergebnis3;
String s = String.valueOf(f);
rounded = Float.parseFloat(s.substring(0,s.lastIndexOf('.')+1));

System.out.print (rounded);
 

JPKI

Top Contributor
Kleiner Indexfehler in meinem obigen Code, folgendes funktioniert jetzt aber:
Code:
float f = Float.parseFloat(args[0]);
String s = String.valueOf(f);
float rounded = Float.parseFloat(s.substring(0,s.lastIndexOf('.')+2));
 

Pluta

Mitglied
Hey dank dir, klappt echt gut

Nur muß ich das ja auch selber verstehen, kannst du vielleicht ein wenig erläutern wie du das genau gemacht hast. Verstehe nur die letzte Zeile nicht so ganz
 

JPKI

Top Contributor
Also, innerhalb der Klammern der parseFloat()-Funktion werden der als String vorhandenen Fließkommazahl alle Zeichen ab der zweiten Stelle nach dem letzten Punkt abgeschnitten. Durch die parseFloat()-Funktion wird das ganze dann noch in ein Float umgewandelt.
 
G

Gelöschtes Mitglied 5909

Gast
eigentlich rundet man nicht, sondern stellt es nur da mit den formatern.

ansonsten wäre sowas am einfachsten (auch wenn des eigentlich nicht der sinn von den Formattern ist)

Code:
    public static double round(double value, int pos) {
	NumberFormat format = NumberFormat.getInstance(Locale.US);
	format.setMaximumFractionDigits(pos);
	format.setMinimumFractionDigits(pos);
	return Double.parseDouble(format.format(value));
    }

man möge mir verzeihen ;)

p.s.: die tabs sind bei mir irgendwie am arsch
 

Marco13

Top Contributor
JPKI hat gesagt.:
:oops: Upps, was für ein peinlicher Fehler :wink: :oops:
Bitte sehr:
Code:
float f = 12345.6789f;
String s = String.valueOf(f);
float rounded = Float.parseFloat(s.substring(0,s.lastIndexOf('.')+1));

Peinlicher als die Lösung an sich kann der Fehler kaum sein. (Würdest du dich diskreditiert fühlen, wenn ich das als "Bockmist" bezeichnen würde?)

float f = 12345.6789f;
float g = Math.round(f*10)/10.0f;
 

JPKI

Top Contributor
Marco13 hat gesagt.:
Würdest du dich diskreditiert fühlen, wenn ich das als "Bockmist" bezeichnen würde?
Keine Sorge, ich bin's gewöhnt, dass sich andere über meinen Programmierstil "wundern" :wink:
Aber hey, mein Code funktioniert doch. Der Threadersteller wollte doch nur wissen, wie man alle Stellen nach der letzen abtrennt.
Pluta hat gesagt.:
ERgänzung : SOll eigentlich nur nach der ersten NAchkommastelle abschneiden
 

Marco13

Top Contributor
Hmja :? schau' dir mal in der src.zip in deinem JDK-Verzeichnis die Klasse "FloatingDecimal" an, die für die Hin- und Her-Umwandlung von String<->Float verantwortlich ist. Danach wirst du String.valueOf(float) und Float.parseFloat(String) mir größerer Vorsicht gebrauchen. (In dieser Klasse taucht in den Kommentaren insgesamt 10 (zehn) mal das Wort "Hack" auf ... und so sieht sie auch aus :? )
 

JPKI

Top Contributor
Hehe, schön wär's! In der Datei Float.java aus dem java.lang-Paket wird die Klasse sun.misc.FloatingDecimal importiert und diese ist nicht in der src.zip enthalten.
 
G

Gast

Gast
Er wollte aber, dass nach der 2. Stelle abgeschnitten und nicht gerundet wird.
 

Marco13

Top Contributor
Pluta hat gesagt.:
WIe schaffe ich es eine Integerzahl auf EINE Nachkommestalle abzurunden, wobei die Anzahl der NAchkommastellen desöfteren variiert

Gast hat gesagt.:
Er wollte aber, dass nach der 2. Stelle abgeschnitten und nicht gerundet wird.

Naja. "EINE" und "zwei" sind schone in Unterschied. Aber er hat tatsächlich nicht von "runden" sondern von "abrunden" geredet, demnach wäre es

float f = 12345.6789f;
float g = Math.floor(f*10)/10.0f; // statt round
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Klasse in Runden Klammern bei Objektimplementierung Java Basics - Anfänger-Themen 4
S Runden auf den niedrigsten Wert Java Basics - Anfänger-Themen 10
M Double Wert nach n abschneiden ohne zu runden Java Basics - Anfänger-Themen 1
Z Runden Arraylist Java Basics - Anfänger-Themen 9
A Random Double mit Math.round() runden? Java Basics - Anfänger-Themen 1
J Hilfe beim Runden Java Basics - Anfänger-Themen 4
S Runden von Zahlen Java Basics - Anfänger-Themen 1
J Fehler beim Runden Java Basics - Anfänger-Themen 3
T ungewolltes Runden Java Basics - Anfänger-Themen 5
K Double Wert runden und in Int umwandeln Java Basics - Anfänger-Themen 7
A Kaufmännisches Runden mit BigDecimal Java Basics - Anfänger-Themen 14
M Double Wert auf 2 Kommastellen runden Java Basics - Anfänger-Themen 2
K Methoden Integer runden/aufrunden Java Basics - Anfänger-Themen 2
F Zeiteinheit auf ganze Zahl runder runden Java Basics - Anfänger-Themen 4
L Nachkommastellen Runden, Problem mit Syntax " }" Java Basics - Anfänger-Themen 2
J Auf den nächsten Zehner runden? Java Basics - Anfänger-Themen 4
C Nach Berechnung runden und Wert ausgeben Java Basics - Anfänger-Themen 7
A Richtig runden Java Basics - Anfänger-Themen 9
M Double-Zahlen auf Intervalle runden Java Basics - Anfänger-Themen 3
H Runden klappt nicht Java Basics - Anfänger-Themen 10
S Zahlen runden Java Basics - Anfänger-Themen 5
E Runden Java Basics - Anfänger-Themen 2
U Erste Schritte Kommazahl runden Java Basics - Anfänger-Themen 17
K Große Gleitkommazahlen runden Java Basics - Anfänger-Themen 8
Luk10 Nachkommastellen runden Java Basics - Anfänger-Themen 2
S Runden eines doubles auf n nachkommastellen Java Basics - Anfänger-Themen 10
H Zahl auf 2 nachkomma stellen runden Java Basics - Anfänger-Themen 13
M Float auf bestimmte Nachkommazahl runden Java Basics - Anfänger-Themen 3
I Runden / Zweikommastellen geht nicht... Java Basics - Anfänger-Themen 3
J Konvertieren und Runden von double in int Java Basics - Anfänger-Themen 3
H Datentypen Rechnen und Runden Java Basics - Anfänger-Themen 2
O Runden - x/100 liefert long zurück Java Basics - Anfänger-Themen 7
T Runden mit Präzision vs. Runden mit Nachkommastellen Java Basics - Anfänger-Themen 4
J Runden mit printf Java Basics - Anfänger-Themen 3
-horn- Runden auf x-Stellen wirklich nur so umständlich? Java Basics - Anfänger-Themen 9
F (Verständnis)Problem: Zahl auf 2 Nachkommastellen runden Java Basics - Anfänger-Themen 5
Rika Runden Java Basics - Anfänger-Themen 6
F Werte runden Java Basics - Anfänger-Themen 11
N Runden Java Basics - Anfänger-Themen 6
J Runden auf 2 Nachkommastellen ? Java Basics - Anfänger-Themen 5
D runden ohne math! (zur not auch mit) Java Basics - Anfänger-Themen 9
D Einfache Funktion zum kaufmännischen runden Java Basics - Anfänger-Themen 8
J richtig runden Java Basics - Anfänger-Themen 4
B Double je nach Nachkommastellen kfm runden Java Basics - Anfänger-Themen 7
J Runden Java Basics - Anfänger-Themen 4
G divisions ergebnis runden Java Basics - Anfänger-Themen 3
S Wie runden man noch mal auf bestimmte stellen? Java Basics - Anfänger-Themen 8
S double runden Java Basics - Anfänger-Themen 5
W Runden Java Basics - Anfänger-Themen 10
G Durch Liste iterieren und nachkommastellen runden Java Basics - Anfänger-Themen 9
C Ergebnisse auf 2 Kommastellen runden Java Basics - Anfänger-Themen 3
R Zahl runden Java Basics - Anfänger-Themen 18
M Runden eines Doublewerts auf 13 Zeichen Java Basics - Anfänger-Themen 10
A Runden Java Basics - Anfänger-Themen 5
G Kein Runden Java Basics - Anfänger-Themen 3
R "Kaufmännisch runden" Java Basics - Anfänger-Themen 12
P Automatisch auf die nächst höere zahl runden? Java Basics - Anfänger-Themen 7
F Long umwandeln und auf 2 Dezimalen runden? Java Basics - Anfänger-Themen 14
M runden Java Basics - Anfänger-Themen 9
D Einmal Runden ohne alles Java Basics - Anfänger-Themen 7
P Dezimalstellen limitieren (runden auf 2 Stellen) Java Basics - Anfänger-Themen 3
L Automatischen Runden oder Abschneiden? Java Basics - Anfänger-Themen 2
C Runden auf 2 Nachkommastellen klappt nicht||| WARUM Java Basics - Anfänger-Themen 13
S Double runden funktioniert nicht immer ? Java Basics - Anfänger-Themen 2
O Dezimal in Dual...Arraygröße & Runden Java Basics - Anfänger-Themen 4
A Bestimmt blöde Frage: Zahl runden Java Basics - Anfänger-Themen 10
K Fliesskommawert runden Java Basics - Anfänger-Themen 3
L Runden Java Basics - Anfänger-Themen 2
G Zahlen runden Java Basics - Anfänger-Themen 3
C double runden Java Basics - Anfänger-Themen 6
V Double runden Java Basics - Anfänger-Themen 6
D Zahlen runden Java Basics - Anfänger-Themen 10
F double wert formatieren und runden Java Basics - Anfänger-Themen 7
C Runden einer Altersangabe Java Basics - Anfänger-Themen 5
P double Zahl runden Java Basics - Anfänger-Themen 2
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
M Vergleichen, ob eine Liste länger als andere ist Java Basics - Anfänger-Themen 6
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
G Wie wartet man bis ein URL eine Antwort zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
M mit Maven eine ausführbare Jar bauen Java Basics - Anfänger-Themen 7
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
M Eine Funktion zuweisen Java Basics - Anfänger-Themen 3
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben