Nachkommastellen in C♯
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.0Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( 12.00 ); }}global::System.Console.Out
12
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.00« als auch als »12.0« geschrieben werden.
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( 12.00 ); }}global::System.Console.Out
12
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( 12.0 ); }}global::System.Console.Out
12
Eine Null vor dem Punkt darf auch ganz weggelassen werden, wenn später noch Ziffern folgen.
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( .12 ); }}- Protokoll
0.12
Der Text »12.00« kann mit einem Zeichenfolgenliteral ausgegeben werden.
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( "12.00" ); }}global::System.Console.Out
12.00
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.
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.
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( 3.141592653589793 ); }}global::System.Console.Out
3.14159265358979
Morphologie
- morphologisches Diagramm
Ziffernfolge
.---------------.
|-|--->| Dezimalziffer |---.------------------------.--->|-|
'---------------' ^ |
| .---------------. |
'----| Dezimalziffer |---'
'---------------'Punktnumerale
.--------------. .-. .--------------.
|-|---.--->| Ziffernfolge |---.--->( . )--->| Ziffernfolge |--->|-|
| '--------------' ^ '-' '--------------'
| |
'-----------------------'
Semantik
Wert
Der Wert eines Punktnumerales ist zunächst der Wert, den solche ein Numerale auch im Alltag hat, nachdem der Punkt durch ein Komma ersetzt wurde und eine Null ergänzt wurde, um zu verhindern, daß das Numerale direkt mit dem Komma beginnt oder endet. Beispielsweise ist der Wert des Punktnumerales ».2« gleich 0,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.0 1,0
1.00 1,0
12.2 12,2
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 durch eine Text. 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 des Zeichenfolgenliterals »"7"« gleicht der Darstellung der Zahl »7«, obwohl intern beides verschiedene Werte sind.
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( "7" ); }}global::System.Console.Out
7
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( 7 ); }}global::System.Console.Out
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.
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.
- Literale (morphologisches Diagramm)
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«?