Num

4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 11 (Geändert)


Num (Ausdruck; Trenner) Numerisch

ParameterTypBeschreibung
AusdruckString | Boolean | NumString, der in eine Zahl umgewandelt
werden soll oder Boolean
um 0 oder 1 zurückzugeben, oder
Numerischer Ausdruck
TrennerStringDezimaltrenner
FunktionsergebnisNumerischZahlenform des Parameters Ausdruck

Beschreibung

Die Funktion Num gibt den Zahlenwert des String, Boolean oder numerischen Ausdrucks zurück, definiert in Ausdruck . Mit dem optionalen Parameter Trenner können Sie einen spezifischen Dezimaltrenner für einen Zahlenwert in Ausdruck übergeben.

Ausdrücke vom Typ Text

Enthält Ausdruck nur Buchstaben, gibt Num den Wert 0 zurück. Enthält Ausdruck Buchstaben und Zahlen, ignoriert Num die Buchstaben. So wandelt Num die Zeichenkette "a1b2c3" um in die Zahl 123.

Hinweis: Nur die ersten 32 Zeichen von Ausdruck werden bewertet.

Es gibt drei reservierte Zeichen, die Num besonders behandelt: Der im System definierte Dezimaltrenner (wenn der Parameter Trenner nicht übergeben ist), den Bindestrich "-" und "e" oder "E". Diese Zeichen werden als numerische Formate interpretiert.

Das Dezimaltrennzeichen, z.B. "." gilt als Trennzeichen für Dezimalwerte. Es muss innerhalb einer Zahl erscheinen. Die Funktion verwendet standardmäßig das vom Betriebssystem vorgegebenen Trennzeichen. Mit dem Parameter Trenner können Sie ein anderes Zeichen festlegen.

Der Bindestrich gilt als Minuszeichen. Er muss vor der Zahl erscheinen oder nach dem "e" für einen Exponenten. Steht innerhalb einer Zahl ein Bindestrich, gibt Num den Wert Null (0) zurück.

Beispiel: Num(123-456) ergibt 0, Num(-9) ergibt -9.

Das e bzw. E gilt als Exponent eines Zahlenwertes. Es muss innerhalb einer Zahl erscheinen. Beispiel: Num("123e–2") ergibt 1,23.

Die Funktion verwendet standardmäßig den Dezimaltrenner, der im Betriebssystem definiert ist. Wird der zu bewertende String mit einem Dezimaltrenner dargestellt, der sich vom Trenner des Systems unter-scheidet, gibt die Funktion ein falsches Ergebnis zurück.

Mit dem optionalen Parameter Trenner können Sie eine korrekte Bewertung erzielen. Ist dieser Parameter übergeben, berücksichtigt die Funktion nicht die Dezimaltrenner des Systems. Sie können ein oder mehrere Zeichen übergeben.

Hinweis: Der Befehl GET SYSTEM FORMAT ermöglicht, den aktuellen Dezimaltrenner sowie andere landesspezifische Systemparameter zu finden.

Ausdrücke vom Typ Boolean

Übergeben Sie einen Boolean Ausdruck, gibt Num den Wert 1 zurück, wenn der Ausdruck wahr ist; sonst den Wert Null (0).

Numerische Ausdrücke

Übergeben Sie in Ausdruck einen numerischen Ausdruck, gibt Num den Zahlenwert wie eingetragen zurück. Das ist besonders bei generischer Programmierung mit Zeigern hilfreich.

Beispiele

1. Folgendes Beispiel zeigt, wie Num bei Ausdrücken vom Typ Text arbeitet. Jede Zeile weist der Variablen vResult eine Zahl zu:

   vResult := Num ("ABCD")  ` vResult ergibt 0 
   vResult := Num ("A1B2C3")  ` vResult ergibt 123 
   vResult := Num ("123")  ` vResult ergibt 123 
   vResult := Num ("123,4")  ` vResult ergibt 123,4
   vResult := Num ("–123")  ` vResult ergibt –123 
   vResult := Num ("–123e2")  ` vResult ergibt –12300

2. Im Folgenden wird [Client]Debt mit $1000 verglichen. Num gibt entweder 1 oder 0 zurück. Die Multiplikation mit 1 bzw. 0 wiederholt den Text bzw. gibt einen leeren Text zurück. [Client]Risk erhält als Ergebnis entweder "Gut" oder "Schlecht":

      ` Schuldet der Kunde unter 1000, gutes Risiko. 
      ` Schuldet der Kunde über 1000, schlechtes Risiko. 
   [Client]Risk:=("Gut"*Num ([Client]Debt<1000))+("Schlecht"*Num([Client]Debt>=1000))

3. Dieses Beispiel vergleicht die erhaltenen Ergebnisse abhängig vom "aktuellen" Trenner:


   $thestring:="33,333.33"
   $thenum:=Num($thestring)
      ` Standardmäßig entspricht $thenum 33,33333 auf einem deutschen System
   $thenum:=Num($thestring;".")
      ` $thenum wird korrekt bewertet unabhängig vom System;
      ` zum Beispiel 33333,33 auf einem deutschen System

Referenz

Boolean Operatoren, GET SYSTEM FORMAT, String, String Operatoren.

Anwendung des Befehls

Strings


4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next