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

Nachkommastellen in VBA 

Nachkommastellen werden nicht etwa durch ein Komma, sondern durch einen Punkt  abgetrennt.

Numeralia mit dem Wert Zwölf
12
12.0
12.00
Numeralia mit verschiedenen Werten
12.45
12.9876432
1.2
87.0
Direktbereich

? 1.2

 1.2 

Das obige Zitat aus dem Direktbereich zeigt das Verhalten bei einem Computer, der auf die englischsprachigen Regeln zur Zahlendarstellung eingestellt ist. Daher wird ein Dezimalpunkt ausgegeben. Bei einem Computer, der auf die deutschsprachigen Regeln zur Zahlendarstellung eingestellt ist, würde statt dessen ein Dezimalkomma ausgegeben werden.

Direktbereich

? 1.2

 1,2 

Zur Vereinfachung verwenden wir in diesem Text bei jedem Beispiel nur jeweils eine dieser Darstellungen, nämlich in der Regel die mit dem Dezimalpunkt.

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

Die Zahl Zwölf kann daher sowohl als »12.0« als auch als »12.00« geschrieben werden.

Direktbereich

? 12.0

 12 

? 12.00

 12 

Nullen am Ende, die hinter einem Punkt stehen, dürfen auch ganz weggelassen werden (falls Ziffern vor dem Punkt stehen), so daß für die Zahl Zwölf auch die Schreibweise »12.« erlaubt ist.

Numeralia mit dem Wert 12,0
12
12.0
12.00
Numeralia mit dem Wert 12,1
12.1
12.10
12.100
Direktbereich

? 12.

 12 

Wenn vor dem Punkt nur eine Folge von Nullen steht und hinter dem Punkt noch Ziffern folgen, dann dürfen die Nullen vor dem Punkt auch weggelassen werden.

Numeralia mit dem Wert 0,12
00.12
0.12
.12
Direktbereich

? .12

 0.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.

Direktbereich
? 3.1415926535897932
3.14159265358979 

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

Direktbereich
? "12.00"
12.00
? "3.1415926535897932"
3.1415926535897932

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 |---.--->|-|
^ '---------------' |
| |
'------------------------'

Punktnumerale

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

Semantik

Wert

Der Wert eines Punktnumerales ist zunächst der Wert, den solche ein Numerale auch im Alltag hat. Dabei ist der Punkt durch eine Komma zu ersetzen. 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.

Werte und ihre Darstellung

Der Ausdruckrahmen gibt Darstellungen von Werten, nicht die Werte selber aus.

Wir sprechen von der „Ausgabe einer Darstellung 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. Beispielsweise kann der Wert «12.0» auch also »12.00« dargestellt werden, beides sind zwei verschiedene Darstellungen  desselben Wertes. Lesen oder Schreiben kann man nur Darstellungen von Werten, nicht die Werte selber.

Die Darstellung der Zeichenfolge »" 7 "« gleicht der Darstellung der Zahl «7», obwohl intern beides verschiedene Werte sind.

Direktbereich

? " 7 "

7

? 7

7

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 Darstellung des Wertes ausgegeben wird.

Ü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 stefanram722871 stefan_ram:722871 Nachkommastellen in VBA Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722871, slrprddef722871, 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_vba