Nachkommastellen in JavaScript (Nachkommastellen in JavaScript), Lektion, Seite 722769
https://www.purl.org/stefan_ram/pub/nachkommastellen_javascript (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
JavaScript-Kurs

Nachkommastellen in JavaScript 

Punktnumeralia

Nachkommastellen werden nicht etwa durch ein Komma, sondern durch einen Punkt  abgetrennt. Die Zahl ‹ 12,23 › wird in JavaScript  also als »12.23« geschrieben.

Numeralia mit dem Wert 12
12
12.0
12.00
Numeralia mit verschiedenen Werten
12.45
12.9876432
1.2
87.0
Auswertung
12.0
12

Eine Folge von Nullen, die ganz am Ende eines Numerales mit einem Punkt hinter dem Punkt steht, trägt nicht zu seinem Wert bei.

Die Zahl 12 kann daher sowohl als »12.0« als auch als »12.00« geschrieben werden.

Auswertung
12.00
12
Auswertung
12.0
12

Führende Nullen (also eine Null am Anfang, der eine Ziffer folgt) sind nicht  erlaubt, der Text »012.1« ist also kein  erlaubtes Punktnumerale.

Nullen am Ende dürfen auch ganz weggelassen werden, so daß für die Zahl 12,0 auch die Schreibweise »12.« erlaubt ist.

Auswertung
12.
12

Bei der Ausgabe eines Wertes mit Nachkommastellen wird dieser manchmal auf ein bestimmte Anzahl von Stellen abgeschnitten. Dies liegt daran, daß der Computer auch nur eine bestimmte Anzahl von Stellen verarbeiten und speichern kann.

Auswertung
3.1415926535897932
3.141592653589793

Der Text »12.00« oder der Text »3.1415926535897932« kann mit einem Zeichenfolgenliteral ausgegeben werden.

Auswertung
"12.00"
"12.00"
"3.1415926535897932"
"3.1415926535897932"

Bei der Ausgabe in der Konsole erscheinen ausgegebene Texte unter bestimmten Umständen in Anführungzeichen  »"«. Diese Anführungszeichen werden aber sonst in der Regel nicht mit ausgegeben, wenn mit JavaScript  an anderen Stellen etwas ausgegeben wird. Normalerweise erscheint die Ausgabe eines Textes also ohne  die Anführungszeichen.

Wir können nun auch zwischen ganzzahligen Numeralia  (wie »32767« oder »22«) ohne  Punkt und Punktnumeralia  (wie »12.0 oder »12.00«) mit  einem Punkt unterscheiden.

Aufbau

Aufbaudiagramm

Ziffernfolge
.---------------.
|-|--->| Dezimalziffer |--->.------------------------.--->|-|
'---------------' ^ |
| .---------------. |
'---| Dezimalziffer |<---'
'---------------'

Punktnumerale
.-. .--------------.
|-|--->.------------------------------>( . )------->| Ziffernfolge |---.--->|-|
| '-' '--------------' ^
| .-----------------. .-. |
'--->| Dezimalnumerale |--->( . )---.-----------------------.---'
'-----------------' '-' | ^
| .--------------. |
'--->| Ziffernfolge |---'
'--------------'

In dem obenstehendem Diagramm bezieht sich »Dezimalnumerale« auf ein Diagramm aus einer früheren Lektion.

Durch die hier vorgestellten Punktnumeralia wird die Bedeutung des Wortes „Numerale“ aus einer früheren Lektion nun erweitert: Sowohl die früher vorgestellten Dezimalnumeralia als auch die in dieser Lektion neu vorgestellten Punktnumeralia sind Numeralia.

Anzahl der gültigen Stellen

Zahlen werden nicht mit unbegrenzter Genauigkeit dargestellt. Ab zirka der 15. Stelle kann es zu Verfälschungen des Wertes kommen.

Auswertung
1.9999999999999999
2
Auswertung
9223372036854775808
9223372036854776000
Auswertung
9999999999999999999
10000000000000000000

Zahlenwerte sind in den hinteren Stellen also manchmal ungenau. Daher sollten sie für prinzipiell ungenaue Werte verwendet werden, wie beispielsweise Meßwerte kontinuierlicher Größen (wie Länge, Geschwindigkeiten oder Temperaturen). Solche Werte können praktisch nie auf mehr als 14 Stellen gemessen werden, so daß es für ihre Speicherung und Verarbeitung akzeptabel ist, wenn ab der 14. Stelle Fehler auftreten.

Bei ganzen Zahlen bis zu 9007199254740991 (2⁵³-1, also zirka 9×10¹⁵) sind Zahlenwerte aber genau, in dem Sinne, daß bis zu diesem Wert alle eingegebenen ganzen Zahlen auch wieder genau so ausgegeben werden, wie sie eingegeben wurden.

Ungenauigkeiten in den Nachkommastellen würden bei Währungsbeträgen Probleme bereiten. Hier kann es unter Umständen hilfreich sein, diese durch Multiplikation mit einer Zahl wie 100 zunächst so zu verändern, daß keine Nachkommastellen mehr auftreten.

Semantik

Wert

Der Wert eines Punktnumerales ist zunächst der Wert, den solche ein Numerale auch im Alltag hat, nachdem der Punkt durch eine Komma ersetzt und gegebenenfalls eine Null ergänzt wurde, um zu verhindern, daß das Numerale direkt mit dem Komma beginnt oder endet. Beispielsweise ist der Wert des Punktnumerales »12.2« gleich 12,2. Allerdings gilt dies nur näherungsweise, da nicht alle Werte mit Nachkommastellen genau dargestellt werden können. Die Abweichungen vom richtigen Wert sind aber meist so klein, daß sie nicht weiter stören.

Numerale und Wert

Numerale Wert

1. 1
1.0 1
1.00 1
12.2 12,2

Werte und ihre Textdarstellung

Die Konsole gibt Textdarstellungen von Werten, nicht die Werte selber  aus.

Wir sprechen von der „Ausgabe einer Textdarstellung des Wertes «7» “, weil Werte im allgemeinen keine ausdruckbaren Zeichenfolgen sind. Eine ausgedruckte Zeichenfolge, wie »7«, ist also nicht ein Wert selber, sondern nur eine Darstellung  des Wertes durch einen Text. Beispielsweise kann der Wert «12.0» auch als »12.00« dargestellt werden, beides sind zwei verschiedene Textdarstellungen  desselben Wertes. Lesen oder Schreiben kann man nur Darstellungen von Werten, nicht die Werte selber.

Zur Vereinfachung kann man aber auch von der „Ausgabe eines Wertes “ sprechen, wenn man weiß, daß dabei nicht wirklich  der Wert selber, sondern nur eine Textdarstellung  des Wertes ausgegeben wird.

Literale

Ein Oberbegriff für ganzzahlige Numeralia und Punktnumeralia ist „Numerale“ (numerisches Literal).

Ein Oberbegriff für Numeralia und Zeichenfolgenliterale ist „Literal“.

Ein Literal dient der Angabe eines Wertes.

Literal (Aufbaudiagramm)

Literal

.----------------------.
|-|--->.--->| Zeichenfolgenliteral |---.--->|-|
| '----------------------' ^
| .----------------------. |
'--->| Numerale |---'
| '----------------------' ^
| .----------------------. |
'--->| Punktnumerale |---'
'----------------------'

Literale (Baumdiagramm)
                                               Literal
^
|
.------------------'------------------.
| |
Numerale Zeichenfolgenliteral
^ z.B.: "abc"
|
.------------------'------------------.
| |
ganzzahliges Numerale Punktnumerale
z.B.: 123 z.B.: 1.23

Übungsfragen

?   Übungsfrage

Ist der Wert des Numerales »22.0« gleich dem Wert des Numerales »22.00«?

?   Übungsfrage

Ist das Numerale »22.0« gleich dem Numerale »22.00«?

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722769 stefan_ram:722769 Nachkommastellen in JavaScript Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722769, slrprddef722769, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/nachkommastellen_javascript