This is documentation for Mathematica 4, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

 Documentation /  Mathematica /  Das Mathematica Buch /  Die Prinzipien von Mathematica /  Textförmige Eingabe und Ausgabe /

Zeichenketten-orientierte AusgabeformateTabellen und Matrizen

2.8.7 Ausgabeformate für Zahlen

Ausgabeformate für Zahlen

Diese Zahlen werden im voreingestellten Ausgabeformat wiedergegeben. Große Zahlen werden in wissenschaftlicher Schreibweise dargestellt.

In[1]:= {6.7^-4, 6.7^6, 6.7^8}

Out[1]=

Hier werden alle Zahlen in wissenschaftlicher Schreibweise ausgegeben.

In[2]:= ScientificForm[%]

Out[2]//ScientificForm=

Hier werden alle Zahlen in technischer Schreibweise ausgegeben. Die Exponenten sind Vielfache von 3.

In[3]:= EngineeringForm[%]

Out[3]//EngineeringForm=

In der kaufmännischen Schreibweise werden negative Zahlen in Klammern gesetzt, und die wissenschaftliche Schreibweise wird nie benutzt.

In[4]:= AccountingForm[{5.6, -6.7, 10.^7}]

Out[4]//AccountingForm=

Kontrolle der ausgedruckten Präzision von reellen Zahlen

Hier ist mit 30 Ziffern.

In[5]:= N[Pi^9, 30]

Out[5]=

Hier werden lediglich 10 Ziffern von gedruckt.

In[6]:= NumberForm[%, 10]

Out[6]//NumberForm=

Hier werden 12 Ziffern in technischer Schreibweise ausgegeben.

In[7]:= EngineeringForm[%, 12]

Out[7]//EngineeringForm=

Optionen zur Zahlenformatierung

Alle Optionen in der Tabelle, mit Ausnahme der letzten, lassen sich sowohl auf ganze Zahlen als auch auf reelle Gleitpunktzahlen anwenden.

Alle Optionen können bei jeder der folgenden Funktionen angewendet werden: NumberForm, ScientificForm, EngineeringForm und AccountingForm. Tatsächlich können Sie im Prinzip das Verhalten jeder dieser Funktionen reproduzieren, indem Sie in einer der anderen Funktionen passende Options-Einstellungen angeben. In der Tabelle werden die Vorgabewerte der Optionen für NumberForm aufgelistet.

Mit der Einstellung DigitBlock->n werden Ziffern in Blöcke der Länge n aufgeteilt.

In[8]:= NumberForm[30!, DigitBlock->3]

Out[8]//NumberForm=

Sie können jede Zeichenkette als Trennzeichen zwischen Ziffernblöcken spezifizieren.

In[9]:= NumberForm[30!, DigitBlock->5, NumberSeparator->" "]

Out[9]//NumberForm=

Dies gibt positiven Zahlen ein explizites Pluszeichen und benutzt | anstelle eines Dezimalpunktes..

In[10]:= NumberForm[{4.5, -6.8}, NumberSigns->{"-", "+"},
NumberPoint->"|"]

Out[10]//NumberForm=

Wenn Mathematica eine reelle Gleitpunktzahl druckt, muß es entscheiden, ob die wissenschaftliche Schreibweise gewählt werden soll, und wenn ja, wie viele Stellen links vom Dezimalpunkt erscheinen sollen. Dabei bestimmt Mathematica zuerst den Exponenten, der in der wissenschaftlichen Schreibweise benutzt werden würde, wenn links vom Dezimalpunkt eine Stelle auftreten würde. Dann wird auf diesen Exponenten die Funktion angewandt, die in der Options-Einstellung von ExponentFunction angegeben ist. Diese Funktion sollte den zu benutzenden Exponenten liefern, oder Null, wenn die wissenschaftliche Schreibweise nicht benutzt werden soll.

Die Voreinstellung ist: für alle Zahlen mit Exponenten außerhalb des Bereiches von -5 bis 5 wird die wissenschaftliche Schreibweise benutzt.

In[11]:= {8.^5, 11.^7, 13.^9}

Out[11]=

Dies benutzt die wissenschaftliche Schreibweise nur für Zahlen mit Exponenten größer oder gleich 10.

In[12]:= NumberForm[%,
ExponentFunction -> (If[-10 < # < 10, Null, #]&)]

Out[12]//NumberForm=

Dies erzwingt, daß alle Exponenten ein Vielfaches von 3 sind.

In[13]:= NumberForm[%, ExponentFunction -> (3 Quotient[#, 3]&)]

Out[13]//NumberForm=

Wenn bestimmt wurde, welche Mantisse und welchen Exponenten eine Zahl haben soll, sind diese im letzten Schritt in das zu druckende Objekt zu montieren. Mit der Option NumberFormat kann eine willkürliche Funktion angegeben werden, die die Druckform für die Zahl spezifiziert. Diese Funktion hat als Argumente drei Zeichenketten: die Mantisse, die Basis und den Exponenten der Zahl. Falls kein Exponent existiert, wird er als "" gegeben.

Dies gibt die Exponenten in der Fortran-artigen „e"-Notation.

In[14]:= NumberForm[{5.6^10, 7.8^20},
NumberFormat -> (SequenceForm[#1, "e", #3]&) ]

Out[14]//NumberForm=

Sie können FortranForm zum Drucken einzelner Zahlen im Fortran-Format einsetzen.

In[15]:= FortranForm[7.8^20]

Out[15]//FortranForm= 6.948515870862152e17

Kontrolle der Ausrichtung von Zahlen in der Ausgabe

Wenn Sie einen Satz Zahlen in einer Spalte oder in einer anderen definierten Anordnung drucken wollen, müssen Sie in der Regel in der Lage sein, die Zahlen in definierter Weise auszurichten. Normalerweise wollen Sie, daß alle Zahlen so gesetzt werden, daß die Ziffern einer bestimmten Zehnerpotenz immer an derselben Position innerhalb des Bereiches, der zum Drucken einer Zahl benutzt wird, erscheinen.

Sie können die Positionen von Ziffern in der Druckform einer Zahl durch verschiedenartiges „Auffüllen" ändern. Sie können rechts auffüllen, normalerweise indem Sie Nullen hinter der Zahl einfügen. Oder Sie füllen links auf, indem Sie in der Regel Leerzeichen anstelle führender Nullen am Anfang einfügen.

Hier wird mit Leerzeichen gefüllt, um bei jeder ganzen Zahl Platz für bis zu 7 Ziffern zu schaffen.

In[16]:= PaddedForm[{456, 12345, 12}, 7]

Out[16]//PaddedForm=

Dies erzeugt eine Spalte ganzer Zahlen.

In[17]:= PaddedForm[ColumnForm[{456, 12345, 12}], 7]

Out[17]//PaddedForm=

Hier wird jede Zahl mit insgesamt 7 Ziffern und mit 4 Ziffern rechts vom Dezimalpunkt gedruckt.

In[18]:= PaddedForm[{-6.7, 6.888, 6.99999}, {7, 4}]

Out[18]//PaddedForm=

In NumberForm spezifiziert die 7 die maximale Präzision, füllt aber nicht mit Leerzeichen auf.

In[19]:= NumberForm[{-6.7, 6.888, 6.99999}, {7, 4}]

Out[19]//NumberForm=

Wenn Sie die Option SignPadding->True setzen, wird Mathematica führende Leerzeichen nach dem Vorzeichen einfügen.

In[20]:= PaddedForm[{-6.7, 6.888, 6.99999}, {7, 4},
SignPadding->True]

Out[20]//PaddedForm=

Wenn die wissenschaftliche Schreibweise benutzt wird, wird nur der Mantissenteil ausgerichtet.

In[21]:= PaddedForm[
ColumnForm[{6.7 10^8, 48.7, -2.3 10^-16}], {4, 2}]

Out[21]//PaddedForm=

Mit der Voreinstellung der Option NumberPadding fügen sowohl NumberForm als auch PaddedForm hinten Nullen an, wenn Sie eine Zahl rechts auffüllen. Auf beiden Seiten werden Leerzeichen benutzt, wenn Sie NumberPadding -> {" ", " "} setzen.

Hier werden Leerzeichen statt Nullen zum Füllen auf der rechten Seite benutzt.

In[22]:= PaddedForm[{-6.7, 6.888, 6.99999}, {7, 4},
NumberPadding -> {" ", " "}]

Out[22]//PaddedForm=

Zahlen zu anderen Basiswerten drucken

Hier wird eine Zahl zur Basis 2 gedruckt.

In[23]:= BaseForm[2342424, 2]

Out[23]//BaseForm=

Wenn die Basis größer als 10 ist, werden für die zusätzlichen Ziffern Buchstaben benutzt.

In[24]:= BaseForm[242345341, 16]

Out[24]//BaseForm=

BaseForm funktioniert auch mit reellen Gleitpunktzahlen.

In[25]:= BaseForm[2.3, 2]

Out[25]//BaseForm=

Sie können BaseForm sogar für Zahlen in wissenschaftlicher Schreibweise benutzen.

In[26]:= BaseForm[2.3 10^8, 2]

Out[26]//BaseForm=

In Abschnitt 3.1.3 wird erläutert, wie Zahlen zu beliebigen Basen eingegeben werden und wie man Listen der Ziffern einer Zahl erhält.

Zeichenketten-orientierte AusgabeformateTabellen und Matrizen