Anzahl Nachkommastellen berechnen

Neue Frage »

Sebastian2 Auf diesen Beitrag antworten »
Anzahl Nachkommastellen berechnen
Hallo,

ich suche eine Funktion um die Anzahl der Nachkommastellen berechnen zu können.

Diese Rechnung abs(log(syminfo.mintick) / log(10)) funktioniert soweit, aber nur wenn die Zahl eine 1 ist bzw alle Dezimalzahlen die als letztes eine 1 haben. Also 1, 0,001, 0,1 usw funktionieren aber nicht 0,5.

Gibt es eine Rechnung die immer funktioniert? Vielleicht muss man z.B. eine 0,05 zuerst zu 0,01 bringen aber mir fällt nicht ein, wie man das machen kann ohne die Anzahl der Nachkommastellen zu kennen.

Besten Dank,
Sebastian
Elvis Auf diesen Beitrag antworten »

Das ist schwer zu verstehen, es gibt reelle Zahlen mit beliebig vielen, ja sogar fast alle mit unendlich vielen Nachkommastellen. In welcher Form gibt man diese Zahlen als Argument in eine Funktion ein, die die Anzahl der Nachkommastellen berechnen soll ?
Sebastian2 Auf diesen Beitrag antworten »

Die Zahlen haben nicht mehr als 10 Nachkommastellen, es sind aber immer unterschiedlich viele Nachkommastellen oder 0.

Die Formel wäre z.B. so:

abs(log(0,01)/log(10)) = 2

Die Zahl hat 2 Nachkommastellen.

Das klappt auch so mit 1 (0 Nachkommastellen), also einer Zahl ohne Nachkommastellen oder 0,00001 (5 Nachkommastellen) aber sobald die letzte Zahl keine 1 mehr ist klappt es nicht mehr. Und ich finde keine Idee wie man damit umgehen könnte.
Steffen Bühler Auf diesen Beitrag antworten »

Du brauchst die Abrundungsfunktion:



Viele Grüße
Steffen
Sebastian2 Auf diesen Beitrag antworten »

Big Laugh Ich denke du hast Recht. Es klappt für alle Dezimalzahlen und sogar für Zahlen bis unter 10.

Besten Dank!
Sebastian
HAL 9000 Auf diesen Beitrag antworten »
Falsche Formulierung
Du suchst nicht die Zahl der Nachkommastellen, sondern die Position der ersten Nichtnull-Nachkommastelle - das ist etwas VÖLLIG ANDERES!!!
 
 
Sebastian2 Auf diesen Beitrag antworten »
RE: Falsche Formulierung
Ist es nicht nur eine Frage ob die Anzahl der Nachkommastellen definiert ist? Mir geht es um die kleinstmögliche Auflösung, die Genauigkeit. Wäre die Anzahl an Nullen dahinter nicht eh unendlich?
HAL 9000 Auf diesen Beitrag antworten »
RE: Falsche Formulierung
Zitat:
Original von Sebastian2
Ist es nicht nur eine Frage ob die Anzahl der Nachkommastellen definiert ist?

"Ob" ? Kann es sein, dass du stattdessen "wie" meinst? verwirrt

Wikipedia mag nicht immer das Maß aller Dinge sein, aber im konkreten Fall bin ich auch deren Auffassung:

https://de.wikipedia.org/wiki/Nachkommastelle
Sebastian2 Auf diesen Beitrag antworten »

Ich bin kein Mathematiker aber das erste Beispiel und "Nachkommazahlen werden auch Dezimalstellen genannt" klingt für mich nicht nach einer falschen Formulierung.

Ich sehe nicht wie weitere folgende Nullen relevant sein sollten. Dezimalzahlen können auf eine Länge beschränkt sein, dann wird halt gerundet aber ich wollte ja die Anzahl der Nachkommastellen wissen.

Vielleicht kann man sagen dass nach der letzten Nachkommastelle, die ungleich 0 ist nur noch Nullen als Nachkommastellen kommen, die aber irrelevant sind, allerdings sagt ja auch niemand, dass die Thread-ID dieses Threads 00000597093 ist und nicht 597093.

Aber wie gesagt, ich bin weit davon entfernt Mathematiker zu sein. Big Laugh
HAL 9000 Auf diesen Beitrag antworten »

Damit es zu keinen Missverständnissen kommt: Mit der obigen Formel bestimmst du für beliebiges die Position der ersten Nichtnull-Nachkommastelle, nichts anderes!!!

D.h., es ist sowohl als auch , dieses zählt also keinesfalls alle Nachkommaziffern einer endlichen Dezimalzahl. unglücklich
Sebastian2 Auf diesen Beitrag antworten »

Oh, das meinst du. Hm, das habe ich nicht getestet, glücklicherweise ist es für meinen Fall trotzdem kein Problem weil es maximal eine Nichtnull-Nachkommastelle in den zu bearbeitenden Zahlen gibt. :thumbsup:
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »