Inhaltsverzeichnis

Search

  1. Vorwort
  2. Umwandlungssprache
  3. Konstanten
  4. Operatoren
  5. Variablen
  6. Datumsangaben
  7. Funktionen

Referenzhandbuch für die Umwandlungssprache

Referenzhandbuch für die Umwandlungssprache

ROUND (Zahlen)

ROUND (Zahlen)

Rundet Zahlen auf eine angegebene Anzahl von Ziffern oder Dezimalstellen. ROUND kann auch zum Runden von Datumsangaben eingesetzt werden.

Syntax

ROUND(
numeric_value
[,
precision
] )
In der folgenden Tabelle werden die Argumente für diesen Befehl beschrieben:
Argument
Erforderlich/
Optional
Beschreibung
numeric_value
Erforderlich
Numerischer Datentyp. Sie können einen beliebigen gültigen Umwandlungausdruck eingeben. Mithilfe von Operatoren können Sie vor dem Runden mathematische Berechnungen durchführen.
precision
Optional
Positive oder negative Ganzzahl. Wenn Sie für
precision
eine positive Präzision angeben, rundet die Funktion die Zahl auf die entsprechende Anzahl von Dezimalstellen. Beispiel: ROUND(12.99, 1) ergibt 13.0 und ROUND(15.44, 1) ergibt 15.4.
Bei einer negativen
precision
rundet die Funktion die Zahl auf die entsprechende Anzahl von Ziffern links vom Dezimalzeichen und gibt eine Ganzzahl zurück. Beispiel: ROUND(12.99, -1) ergibt 10, ROUND(15.99, -1) ergibt 20.
Wenn Sie eine dezimale
precision
angeben, wird die Zahl auf die nächste Ganzzahl gerundet, bevor der Ausdruck ausgewertet wird. Beispiel: ROUND(12.99, 0.8) gibt 13.0 zurück, da 0.8 vor der Auswertung des Ausdrucks erst auf 1 gerundet wird.
Wenn Sie das Argument
precision
auslassen, wird die Zahl auf die nächste Ganzzahl gerundet. Die Dezimalstellen werden abgeschnitten. Beispiel: ROUND(12.99) ergibt 13.

Rückgabewert

Numerischer Wert.
Wenn eines der Argumente NULL ist, gibt ROUND NULL zurück.
Wenn der Rückgabewert eine Dezimalmal mit Präzision höher als 15 ist, können Sie „Hohe Präzision“ aktivieren, um Dezimalgenauigkeit bis zu 28 Stellen zu gewährleisten.

Beispiele

Der folgende Ausdruck gibt die Werte im Port PRICE auf drei Dezimalstellen gerundet zurück:
ROUND( PRICE, 3 )
PRICE
RETURN VALUE
12.9936
12.994
15.9949
15.995
-18.8678
-18.868
56.9561
56.956
NULL
NULL
Sie können die Ziffern links vom Dezimaltrennzeichen runden, indem Sie für das Argument
precision
eine negative Zahl angeben:
ROUND( PRICE, -2 )
PRICE
RETURN VALUE
13242.99
13200.0
1435.99
1400.0
-108.95
-100.0
NULL
NULL
Bei Dezimalwerten im Argument
precision
rundet
Data Integration Service
die Zahl auf die nächste Ganzzahl und wertet den Ausdruck erst danach aus:
ROUND( PRICE, 0.8 )
PRICE
RETURN VALUE
12.99
13.0
56.34
56.3
NULL
NULL
Wenn Sie die Präzision in
precision
nicht angeben, wird die Zahl auf die nächste Ganzzahl gerundet:
ROUND( PRICE )
PRICE
RETURN VALUE
12.99
13.0
-15.99
-16.0
-18.99
-19.0
56.95
57.0
NULL
NULL

Tipp

Sie können ROUND auch dazu nutzen, die Präzision der berechneten Werte genau anzugeben und die erwarteten Resultate erzielen. Wenn
Data Integration Service
mit geringer Präzision ausgeführt wird, werden Ergebnisse, deren Präzision 15 Stellen überschreitet, abgeschnitten. Beispiel: Angenommen, Sie möchten folgenden Ausdruck mit geringer Präzision verarbeiten:
7/3 * 3 = 7
In diesem Fall wertet
Data Integration Service
den linken Teil des Ausdrucks mit 6.999999999999999 aus, da das Ergebnis der ersten Division abgeschnitten wird.
Data Integration Service
wertet den gesamten Ausdruck entsprechend mit FALSE aus. Das ist möglicherweise nicht das Ergebnis, das Sie erwartet haben.
Um das erwartete Ergebnis zu erzielen, runden Sie das abgeschnittene Ergebnis auf der linken Ausdrucksseite mit ROUND.
Data Integration Service
wertet folgenden Ausdruck mit TRUE aus:
ROUND(7/3 * 3) = 7