Nachkommastellen double

Status
Nicht offen für weitere Antworten.

The_S

Top Contributor
Hi,

irgendwie ne blöde Frage, aber wieviele Nachkommastellen kann ein double haben? Double hat doch die doppelte Genauigkeit, also die doppelte Anzahl an Nachkommastellen eines floats (7) und somit 14!? Zumindest dachte ich das bis jetzt. Hab gerade ein double mit mehr Nachkommastellen erstellt

Code:
		double d = 3.1234567890123451634;
		System.out.println(d);

Dabei werden alle Nachkommastellen bis zur 15. (!!) Stelle korrekt ausgegeben und die 16. dann nach irgendeinem komischen Schema, abhängig von den Stellen ab 15 (zumindest soweit ich das beurteilen kann). Der Rest wird abgeschnitten.

Kann mich da mal jemand aufklären? Danke!
 

The_S

Top Contributor
Danke schonmal, aber zum Einen ist das C und nicht Java, zum Anderen ist das vermutlich auch nicht allgemein übertragbar, da hier beschrieben wird, dass ein float nur 6 Nachkommastellen hat. Ich kann in Java aber definitiv 7 Nachkommastellen verwenden und zu guter Letzt erklärt es in keinster weiße das komische Verhalten der 16. Stelle ...

Oder hab ich in dem Artikel was übersehen? Danke!
 

thE_29

Top Contributor
@Hobbit: da sind c und java ziemlich gleich ^^

Deswegen rechnen wir auch immer alles in long * dezimal stellen, da es einfach zu Ungenauigkeitsproblemen auftritt (aufeinmal hat man statt 3.0 2,9999999999) usw..

Bei Floating Operationen kann es schnell und leicht zu sowas kommen! Nur tritt es in sehr geringen oder komischen Fällen auf und daher wenn man es beim Testen denkt, hey das geht dann interessiert das meistens keinen ;)

Hatten wir erst vor einem halben Jahr, das bei ein paar Werten aufeinmal nachkommastellen da waren oder weg waren..
 

The_S

Top Contributor
Ja gut, dass es zu Rundungsfehlern kommen kann ist mir bewusst. Aber wenigstens ist jetzt mal geklärt, dass ein double 15 Nackommastellen hat (kA wie ich auf 14 gekommen bin).

Was bleibt, ist die mysteriöse 16. Stelle, die völlig unkontrolliert erscheint und nichts mti der Angabe zu tun hat. Manchmal erscheint sie ja auch gar net.

Wenn ihr mir hierzu noch ne Erklärung liefern könnt bin ich glücklich ;) .
 

Wildcard

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
Ja gut, dass es zu Rundungsfehlern kommen kann ist mir bewusst. Aber wenigstens ist jetzt mal geklärt, dass ein double 15 Nackommastellen hat (kA wie ich auf 14 gekommen bin).
Wi kommst du darauf?
 

Wildcard

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
Weil ichs ausprobiert hab, ohne 16. Stelle ;)
Ist aber Blödsinn. Hängt von der CPU ab, hängt von der Anzahl der Stellen vor dem Komma ab, hängt von der binären Schreibweise der Zahl ab.
 

The_S

Top Contributor
naja, aber es sin schonmal rein theoretisch bis zu 15 Nachkommastellen möglich, mehr wollt ich gar net wissen ;) .
 

Wildcard

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
naja, aber es sin schonmal rein theoretisch bis zu 15 Nachkommastellen möglich, mehr wollt ich gar net wissen ;) .
Es sind rein theoretisch hunderte von Nachkommastellen möglich, sowie auch gar keine.
 

The_S

Top Contributor
@thE_29

Hilft mir aber wenig, wenn ich (wie in meinem Fall) jemanden den Datentyp double erklären muss (ebenfalls :p )

ot: Meine Posts zu deiner Registry-Lib ignorierst du gekonnt ;) ?

@wildcard

? Warum denn 100? Wie geht das denn, also unter welchen Vorraussetzungen?
 

Wildcard

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
Hilft mir aber wenig, wenn ich (wie in meinem Fall) jemanden den Datentyp double erklären muss (ebenfalls :p )
Dann erklär ihm keinen Blödsinn. Die Anzahl der Nachkommstellen ist abhängig davon wo die erste 1 in der Mantisse gesetzt werden muss. Da kann man nicht einfach sagen 'Double speichert 15 Kommastellen'
 

The_S

Top Contributor
ich glaub das wird mir jetzt alles n bisschen zu komplex ... ich programmier doch erst seit 2,5 Jahren *heul* .

Ich erzähl einfach, es gibt float für wenig nachkommastellen und double für viele. Aber am Besten verwendeste BigDecimal ;) .
 

The_S

Top Contributor
Wildcard hat gesagt.:
Hobbit_Im_Blutrausch hat gesagt.:
ich glaub das wird mir jetzt alles n bisschen zu komplex ... ich programmier doch erst seit 2,5 Jahren *heul* .
Ich auch, also heul hier nicht rum :bae:

*anmeldedatum überprüf* => ist mit meinem ca. identisch
*erste postings überprüf* => Oo . Wenn du erst seit 2,5 Jahren programmierst, hast du ja n ganz schönes Tempo vorgelegt ... Du hast allein bei deinen 1. Posts Fragen beantwortet, die ich n halbes Jahr später erstmal ansatzweise nachvollziehen konnte (so grob geschätzt). Oder alternativ bin ich auch einfach nur verdammt langsam :oops:
 

Marco13

Top Contributor
Die Anzahl der Nackommastellen ist nicht das, worum es geht. Man spricht dabei (wenn ich mich nicht irre) von der Anzahl der signifikanten Stellen (also die Stellen, die wirklich Informationen enthalten, und nicht nur durch einen kleinen Exponenten weit hinters Komma gerutscht sind).

Ob 15 oder 16 hängt u.a. davon ab, welche Zahl denn hinter dem Komma steht. Manche Zahlen lassen sich binär genau darstellen, andere nicht. Und was die toString-Methode von Java dann daraus macht, ist nochmal eine GANZ andere Frage!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F double auf 2 Nachkommastellen runden Allgemeine Java-Themen 9
C double Zahlen mit drei NachkommaStellen in String umwandeln Allgemeine Java-Themen 2
H Double mit 2 Nachkommastellen speichern. Allgemeine Java-Themen 5
Ghostman1711 Pi Nachkommastellen Allgemeine Java-Themen 26
O Prüfen ob String eine Zahl mit maximal 2 Nachkommastellen ist Allgemeine Java-Themen 4
N Zahlen mit Nachkommastellen aus Textfeldern einlesen Allgemeine Java-Themen 6
foobar Auf 2 Nachkommastellen runden Allgemeine Java-Themen 6
F Anzahl der nachkommastellen bestimmen nur wie? Allgemeine Java-Themen 10
M Nachkommastellen Allgemeine Java-Themen 7
JAnruVA Datentypen Berechneten String-Wert in Double umwandeln um weiter zu rechnen Allgemeine Java-Themen 7
Neumi5694 double Vergleich Allgemeine Java-Themen 19
G Modulo - double Allgemeine Java-Themen 21
ReinerCoder Eclipse Fehlermeldung - The constructor Double(double) is deprecated Allgemeine Java-Themen 8
O Variablen Addition von Double-Werten ergibt seltsame 0.9999999 Zahlen Allgemeine Java-Themen 2
B Long in einen Double umwandeln und im Label anzeigen Allgemeine Java-Themen 7
VfL_Freak Double mit zwei festen NK-Stellen ausgeben Allgemeine Java-Themen 9
B List<Integer> ist List<Double> ? Allgemeine Java-Themen 6
SkyScreamer Variablen Int umwande in Double/ 1 Miner = 5 Cookies/s Allgemeine Java-Themen 2
T Teile eines Double-Wertes verändern Allgemeine Java-Themen 2
T Double salted bcrypt Allgemeine Java-Themen 0
A Zahl abgerundet obwohl Double Allgemeine Java-Themen 9
R jTable, nur Werte zwischen 2 Double values ausgeben Allgemeine Java-Themen 3
Y String to Double ohne ParseDouble Allgemeine Java-Themen 11
D Double aus String auslesen Allgemeine Java-Themen 8
M double Array Allgemeine Java-Themen 8
P Wird double und float auf jedem Computer gleich berechnet? Allgemeine Java-Themen 10
C String in double[][] konvertieren! Allgemeine Java-Themen 5
M Cast double[]-->Object[] oder Vector<double[]> Allgemeine Java-Themen 3
Zettelkasten Double --> Integer Allgemeine Java-Themen 4
M float, double, BigDecimal Allgemeine Java-Themen 5
S Variablen Prüfen ob Number vom Typ Integer, Float, Double, ... ist Allgemeine Java-Themen 2
J String mit "," in Double Wert konvertieren Allgemeine Java-Themen 7
R Eclipse Verschiedene Ergebnisse bei Berechnung eines double-Werts Allgemeine Java-Themen 5
B Variablen Bug of Float. & Double.MIN_VALUE! Allgemeine Java-Themen 4
T ArrayList<double[]> persitent anlegen Allgemeine Java-Themen 7
K double Zufallszahl Allgemeine Java-Themen 6
S String in Double - letztes Zeichen fehlt Allgemeine Java-Themen 4
T int <-> integer, double <-> Double... Allgemeine Java-Themen 2
J Umstellung von double auf BigDecimal Allgemeine Java-Themen 5
H2SO3- String 1.000,00 in double umwandeln Allgemeine Java-Themen 12
S Double-Checked Locking Allgemeine Java-Themen 4
I 2D-Grafik Polygon mit Double Werten zeichnen Allgemeine Java-Themen 4
M FIFO Queue: bytes in, float/double/etc out Allgemeine Java-Themen 5
H double dispatch und equals(Object) Allgemeine Java-Themen 6
vandread Float/Double probleme bei der Multiplikation?! Allgemeine Java-Themen 3
J Casting Problem Object, Double und String Allgemeine Java-Themen 3
D Double to Integer - ist das möglich? Allgemeine Java-Themen 3
T Object auf Double, Int, String testen Allgemeine Java-Themen 5
H2SO3- großen double in string mit e umwandeln Allgemeine Java-Themen 4
T Problem: Double als Geldbetrag - Rundungsfehler Allgemeine Java-Themen 5
P große double Zahlen und modulo Allgemeine Java-Themen 8
G Double Wert über OutputStream verschicken Allgemeine Java-Themen 2
M größer als double? Allgemeine Java-Themen 4
N Double ohne Wissenschaftliche Schreibweiße Allgemeine Java-Themen 5
M Double Braces Notation um Collections zu initialisieren Allgemeine Java-Themen 9
R Eigene ArrayList vom Typ Short, Integer oder Double Allgemeine Java-Themen 4
R Double Werte aus byte[] auslesen Allgemeine Java-Themen 5
T XStream.toXML => double mit , anstelle . Allgemeine Java-Themen 3
G Fehler bei Array.getDouble mit Double[] als Argument! Allgemeine Java-Themen 6
A Problem bei Übergabe von Werten in ein double Array. Allgemeine Java-Themen 21
M Double immer mit 2 Kommastellen Allgemeine Java-Themen 3
G double in Date Allgemeine Java-Themen 5
reibi double-Wert auf 2 Stellen nach dem Komma abschneiden Allgemeine Java-Themen 6
G Genauigkeit von Double Allgemeine Java-Themen 2
F Double mit Streams aus Datei einlesen Allgemeine Java-Themen 3
V "double in Exponentialschreibweise" normal ausgebe Allgemeine Java-Themen 2
S List<Double> oder Double[] in double[] zu konvertieren Allgemeine Java-Themen 6
C casten vom Typ Object nach Double[][] Allgemeine Java-Themen 2
E int vs. float vs. double Allgemeine Java-Themen 7
T cast Object to Double[] Allgemeine Java-Themen 2
DEvent double von c nach Java Allgemeine Java-Themen 4
K Double-Zahl runden Allgemeine Java-Themen 4
J double 3.0 soll ohne Nachkommastelle ausgegeben werden Allgemeine Java-Themen 12
S Java Double addieren Allgemeine Java-Themen 3
A string zu double Allgemeine Java-Themen 3
T double to object Allgemeine Java-Themen 3
J Große Zahl (double) as text ausgeben? Allgemeine Java-Themen 2
G Verständnisproblem double und float Allgemeine Java-Themen 7
padde479 String in double parsen Allgemeine Java-Themen 6
E double auf int runden, nicht abschneiden Allgemeine Java-Themen 2
G Double Zahl quadrieren Allgemeine Java-Themen 8
M double aufrunden Allgemeine Java-Themen 6
W Division mit float und double Allgemeine Java-Themen 2
D JTextfield für double werte Allgemeine Java-Themen 2
S Format von Double Allgemeine Java-Themen 9
F Umwandlungsproblem mit double Allgemeine Java-Themen 2
S Problem! Lösung mit Double buffering Allgemeine Java-Themen 3
T Vector <-> double Allgemeine Java-Themen 4
W float/double verhält sich seltsam Allgemeine Java-Themen 6
D Double: Grenzen und Darstellung Allgemeine Java-Themen 7
W String to Double (landesspezifisch) Allgemeine Java-Themen 14
T Fließkomma (double) richtig runden Allgemeine Java-Themen 7
P Class zu Integer, String, Double etc. Allgemeine Java-Themen 11
R Fehler in WindowsXP oder Java? - double in int konvertieren Allgemeine Java-Themen 10
E NumberFormatException bei cast auf double Allgemeine Java-Themen 5
D Wann ist das ergebnis einer Rechnung eine Double? Allgemeine Java-Themen 7
G Double Zahl auf 4 Stellen hinter Komma kuerzen Allgemeine Java-Themen 4
G warum operator || cannot be applied to int, double Allgemeine Java-Themen 11
A Probleme Umwandlung Ausdruck String in double Allgemeine Java-Themen 4
B Double-Wert aus einem HexString erstellen. Allgemeine Java-Themen 11

Ähnliche Java Themen

Neue Themen


Oben