Freigeben über


Konvertierungs-Laufzeitfunktionen für X++

Hinweis

Community-Interessensgruppen sind jetzt von Yammer zu Microsoft Viva Engage gewechselt. Um an einer Viva Engage-Community teilzunehmen und an den neuesten Diskussionen teilzunehmen, füllen Sie das Formular "Anfordern des Zugriffs auf Finance and Operations Viva Engage Community" aus , und wählen Sie die Community aus, der Sie beitreten möchten.

In diesem Artikel werden die Laufzeitfunktionen der Konvertierung beschrieben.

any2Date

Wandelt einen Anytype-Wert in einen Datumswert um.

date any2Date(anytype object)

Die Parameter

Parameter Description
Objekt Der Wert, der in ein Datum konvertiert werden soll.

Rückgabewert

Ein Datumswert .

Bemerkungen

Der Objektparameter kann von den meisten Datentypen sein, aber nützliche Ausgabe wird abgerufen, wenn er vom Str - oder Int-Typ ist. Unangemessener Inhalt generiert einen Laufzeitfehler.

Example

static void any2DateExample(Args _args)
{
    date myDate;
    str s;
    int i;
    s = "2010 6 17"; // A string object, of yyyy mm dd.
    myDate = any2Date(s);
    Global::info(strFmt("%1  is output, from input of "2010 6 17"", myDate));
    i = 40361; // An int object, which represents the number of days from 1900/01/01.
    myDate = any2Date(i);
    Global::info(strFmt("%1  is output, from input of 40361", myDate));
}
/**** Infolog display.
Message (04:44:15 pm)
6/17/2010 is output, from input of "2010 6 17"
7/4/2010 is output, from input of 40361
****/

any2Enum

Konvertiert einen Anytype-Wert in den Name-Eigenschaftswert eines Elements in der Zielenume.

enum any2Enum(anytype object)

Die Parameter

Parameter Description
Objekt Der Wert, der mit der Value-Eigenschaft eines Elements in der Zielenume übereinstimmen soll.

Rückgabewert

Der Wert der Name-Eigenschaft für das element in der Zielenume hat eine Value-Eigenschaft , die dem Eingabeparameter entspricht.

Bemerkungen

Der Objektparameter kann von den meisten Datentypen sein, aber nützliche Daten werden nur abgerufen, wenn Sie einen Parameter des Str - oder Int-Typs verwenden. Dieser Eingabeobjektparameter bezieht sich auf die Value-Eigenschaft eines einzelnen Elements in der Zielenume.

Example

static void any2EnumExample(Args _args)
{
    NoYes myNoYes;  // NoYes is an enum.
    int i;
    str s;
    i = 0;  // An int that will be converted.
    myNoYes = any2Enum(i);
    Global::info(strfmt("'%1' - is the output, from input of the %2 as int.", myNoYes, i));
    s = "1";  // A str that will be converted.
    myNoYes = any2Enum(s);
    Global::info(strfmt("'%1' - is the output, from input of the %2 as str.", myNoYes, s));
    /**** Infolog display.
    Message (01:05:32 pm)
    'No' - is the output, from input of the 0 as int.
    'Yes' - is the output, from input of the 1 as str.
    ****/
}

any2Guid

Konvertiert das angegebene Anytype-Objekt in ein GUID-Objekt.

guid any2Guid(anytype object)

Die Parameter

Parameter Description
Objekt Der Wert, der in ein GUID-Objekt konvertiert werden soll.

Rückgabewert

Ein GUID-Objekt.

any2Int

Konvertiert einen Anytype-Wert in einen Int-Wert .

int any2Int(anytype object)

Die Parameter

Parameter Description
Objekt Der zu konvertierende Wert.

Rückgabewert

Ein Int-Wert .

Bemerkungen

Der Objektparameter kann von den meisten Datentypen sein, aber nützliche Daten werden nur abgerufen, wenn Sie Parameter des Enumerations-, Real- oder Str-Typs verwenden.

Example

static void any2IntExample(Args _args)
{
    int myInt;
    str s;
    NoYes a;
    real r;
    s = "31";
    myInt = any2Int(s);
    Global::info(strfmt("%1 is the output, from input of 31 as a str value.", myInt));
    a = NoYes::No;
    myInt = any2Int(a);
    Global::info(strfmt("%1 is the output, from input of NoYes::No as an enum value.", myInt));
    r = 5.34e2;
    myInt = any2Int(r);
    Global::info(strfmt("%1 is the output, from the input of 5.34e2 as a real value.", myInt));
}
/**** Infolog display.
Message (02:23:59 pm)
31 is the output, from input of 31 as a str value.
0 is the output, from input of NoYes::No as an enum value.
534 is the output, from the input of 5.34e2 as a real value.
****/

any2Int64

Konvertiert ein anytype -Objekt in ein int64 -Objekt.

int64 any2Int64(anytype object)

Die Parameter

Parameter Description
Objekt Das zu konvertierende Anytype-Objekt .

Rückgabewert

Ein int64-Objekt .

any2Real

Wandelt einen Anytype-Wert in einen echten Wert um.

real any2Real(anytype object)

Die Parameter

Parameter Description
Objekt Der zu konvertierende Wert.

Rückgabewert

Ein echter Wert.

Bemerkungen

Der Objektparameter kann von den meisten Datentypen sein, aber nützliche Ausgabe wird für Eingabeelemente des Datums, des Int-, Enum- und str-Typs abgerufen.

Example

static void any2RealExample(Args _args)
{
    real myReal;
    str s;
    int i;
    NoYes a;
    s = "5.12";
    myReal = any2Real(s);
    Global::info(strfmt("%1 is the output from the input of 5.12 as a str object", myReal));
    i = 64;
    myReal = any2Real(i);
    Global::info(strfmt("%1 is the output from the input of 64 as an int object", myReal));
    a = NoYes::Yes;
    myReal = any2Real(a);
    Global::info(strfmt("%1 is the output from the input of NoYes::Yes as an enum object", myReal));
}
/****Infolog display.
Message (02:43:57 pm)
5.12 is the output from the input of 5.12 as a str object
64.00 is the output from the input of 64 as an int object
1.00 is the output from the input of NoYes::Yes as an enum object
****/

any2Str

Wandelt einen Anytype-Wert in einen Str-Wert um.

str any2Str(anytype object)

Die Parameter

Parameter Description
Objekt Der zu konvertierende Wert.

Rückgabewert

Ein Str-Wert .

Bemerkungen

Der Objektparameter kann von den meisten Datentypen sein, aber eine nützliche Ausgabe wird aus Eingabeelementen des Datums-, Int- und Enumerationstyps abgerufen.

Example

static void any2StrExample(Args _args)
{
    str myStr;
    anytype a;
    a = "Any to string";
    myStr = any2Str(a);
    Global::info(strFmt("%1 is output, from input of Any to string as a str value", myStr));
    a = NoYes::Yes;
    myStr = any2Str(a);
    Global::info(strFmt("%1 is output, from input of NoYes::Yes as an enumeration", myStr));
}
/****Infolog Display
Message (09:08:46 am)
Any to string is output, from input of Any to string as a str value
1 is output, from input of NoYes::Yes as an enumeration
****/

anytodate

Siehe any2Date.

anytoenum

Siehe any2Enum.

anytoguid

Siehe any2Guid.

anytoint

Siehe any2Int.

anytoint64

Siehe any2Int64.

anytoreal

Siehe any2Real.

anytostr

Siehe any2Str.

char2Num

Konvertiert ein Zeichen in einer Zeichenfolge in den ASCII-Wert des Zeichens.

int char2Num(str text, int position)

Die Parameter

Parameter Description
Text Die Zeichenfolge, die das Zeichen enthält.
Position Die Position des Zeichens in der Zeichenfolge.

Rückgabewert

Der ASCII-Wert des Zeichens als Int-Objekt .

Bemerkungen

char2Num("ABCDEFG",3); //Returns the numeric value of C, which is 67.
char2Num("ABCDEFG",1); //Returns the numeric value of A, which is 65.

date2Num

Wandelt ein Datum in eine ganze Zahl um, die der Anzahl der Tage seit dem 1. Januar 1900 entspricht.

int date2Num(date _date)

Die Parameter

Parameter Description
_Datum Das zu konvertierende Datum.

Rückgabewert

Die Anzahl der Tage zwischen dem 1. Januar 1900 und dem angegebenen Datum.

Example

//Returns the value377.
date2Num(1311901);
static void date2NumExample(Args _arg)
{
    date d = today();
    int i;
    i = date2Num(d);
    print i;
}

date2Str

Konvertiert das angegebene Datum in eine Zeichenfolge.

str date2Str(date date, int sequence, int day, int separator1, int month, int separator2, int year [, int flags = DateFlags::None])

Die Parameter

Parameter Description
date Das zu konvertierende Datum.
Sequenz Eine dreistellige Zahl, die die Reihenfolge für die Komponenten des Datums angibt: 1 für Tag, 2 für Monat und 3 für Jahr.
Tag Ein Enumerationswert, der das Format für die Tageskomponente des Datums angibt.
Trennzeichen1 Ein Enumerationswert, der das Trennzeichen angibt, das zwischen den ersten beiden Komponenten des Datums verwendet werden soll.
Monat Ein Enumerationswert, der das Format für die Monatskomponente des Datums angibt.
Trennzeichen2 Ein Enumerationswert, der das Trennzeichen angibt, das zwischen den letzten beiden Komponenten des Datums verwendet werden soll.
Jahr Ein Enumerationswert, der das Format für die Jahreskomponente des Datums angibt.
Flaggen Ein DateFlags-Enumerationswert , der angibt, ob die Spracheinstellungen auf dem lokalen Computer verwendet werden sollen, um die richtige Reihenfolge von links nach rechts oder von rechts nach links in der zurückgegebenen Zeichenfolge zu berechnen.

Rückgabewert

Eine Zeichenfolge, die das angegebene Datum darstellt.

Bemerkungen

MorphX weist den Formatierungsparametern gültige Werte zu, wenn die angegebenen Werte ungültig sind. Um das Datumsformat zu verwenden, das der Benutzer in den regionalen Einstellungen angegeben hat, verwenden Sie die Funktion strFmt oder date2Str , und geben Sie -1 in allen Formatierungsparametern an. Wenn die regionalen Einstellungen das Datumsformat steuern, können die Einstellungen von Benutzer zu Benutzer geändert werden. Wenn -1 für beide Trennparameter verwendet wird, werden beide Trennzeichen standardmäßig auf "Regionale Einstellungen" festgelegt. Die Sequenzparameterwerte müssen eine beliebige dreistellige Zahl sein, die genau ein Vorkommen jeder Ziffer 1, 2 und 3 enthält. Die Ziffern 1, 2 und 3 stellen Tag, Monat und Jahr dar. Beispielsweise erzeugt 321 das Sequenzjahr, den Monat und den Tag. Oder der Wert kann -1 sein, um regionale Einstellungen zu verwenden. Für diesen Parameter sollte kein Enumerationstyp verwendet werden, da Zahlen wie 321 den Bereich gültiger Werte für Enumerationswerte überschreiten, einschließlich 0 bis 250. Der Standardwert des Flags-Parameters ist der DateFlags::None-Enumerationswert , was bedeutet, dass keine Verarbeitung von Von links nach rechts oder von rechts nach links erfolgt.

Example

Im folgenden Beispiel wird das aktuelle Datum in der Abfolge von Jahr, Monat und Tag angezeigt.

static void Job2(Args _args)
{
    date currentDate = today();
    str s;
    int iEnum;
    s = date2Str
    (currentDate, 
        321,
        DateDay::Digits2,
        DateSeparator::Hyphen, // separator1
        DateMonth::Digits2,
        DateSeparator::Hyphen, // separator2
        DateYear::Digits4
    );
    info("Today is:  " + s);
}
/** Example Infolog output
Message (12:36:21 pm)
Today is:  2009-01-13
**/

datetime2Str

Wandelt einen utcdatetime-Wert in eine Zeichenfolge um.

str datetime2Str(utcdatetime datetime [, int flags = DateFlags::None])

Die Parameter

Parameter Description
Datum/Uhrzeit Der utcdatetime-Wert , der konvertiert werden soll.
Flaggen Ein DateFlags-Enumerationswert , der angibt, ob lokale Einstellungen für die Rechts-nach-links-Ausgabe verwendet werden sollen.

Rückgabewert

Eine Zeichenfolge, die den utcdatetime-Wert darstellt, der als datetime-Parameter angegeben wurde.

Bemerkungen

Null-Datums-/Uhrzeiteingabe

Wenn der minimale utcdatetime-Wert für den Datetime-Parameter angegeben wird, behandelt die Datetime2Str-Funktion ihn als NULL-Eingabewert. Dies bewirkt, dass die Funktion eine leere Zeichenfolge zurückgibt. Die Datum-Uhrzeit 1900-01-01T00:00:00 wird von der DateTimeUtil::minValue-Methode zurückgegeben. Dieser Mindestwert wird als NULL behandelt.

Lokale Einstellungen von rechts nach links

Das Standardverhalten dieser Funktion besteht darin, die Zeichenfolge in links-nach-rechts-Sequenz zu generieren, wobei der Jahresteil ganz links ist. Der Flags-Parameterwert des DateFlags::FormatAll-Enumerationswerts leitet die Funktion jedoch an, die Zeichenfolge in rechts-nach-links-Sequenz zu generieren, wenn die lokalen Einstellungen für von rechts nach links konfiguriert sind. Das Format der toStr-Methode der DateTimeUtil-Klasse ist von regionalen Einstellungen nicht betroffen.

Example

static void jobTestDatetime2str( Args _args )
{
    utcdatetime utc2 = 1959-06-17T15:44:33;
    str s3;
    s3 = datetime2Str( utc2 );
    info( s3 );
}

enum2Str

Wandelt den angegebenen aufgezählten Text in eine Zeichendarstellung um.

str enum2Str(enum enum)

Die Parameter

Parameter Description
enum Der zu konvertierende Aufzählungstext.

Rückgabewert

Der Wert der Enumeration als Zeichenfolge.

Example

Im folgenden Beispiel wird die Zeichenfolge "Nicht eingeschlossen" zurückgegeben. Dies ist die Bezeichnung für den IncludeNot-Wert des ListCode-Enumerationstyps .

static void enum2StrExample(Args _arg)
{
    ListCode l;
    l =  ListCode::IncludeNot;
    print enum2Str(l);
}

guid2Str

Konvertiert das angegebene GUID-Objekt in die entsprechende Zeichenfolge.

str guid2String(guid _uuid)

Die Parameter

Parameter Description
_uuid Das zu konvertierende GUID-Objekt.

Rückgabewert

Die Zeichenfolgenentsprechung des angegebenen GUID-Objekts.

Example

static void guid2StrExample()
{
    guid _guid;
    str stringGuid;
    _guid = Global::guidFromString("{12345678-1234-1234-1234-123456789abc}");
    print strfmt("GUID is %1", _guid);
    stringGuid = guid2str(_guid);
    info("String GUID is " + stringGuid);
}
/**** Output to Infolog
String GUID is {12345678-1234-1234-1234-123456789ABC}
****/

int2Str

Konvertiert eine ganze Zahl in die entsprechende Zeichenfolge.

str int2Str(int integer)

Die Parameter

Parameter Description
Integer Die zu konvertierende Ganze Zahl.

Rückgabewert

Eine Zeichenfolgendarstellung der ganzen Zahl.

Example

static void int2StrExample(Args _arg)
{
    print "This is int2Str, value is " + int2Str(intMax());
    print "This is int642Str, value is " + int642Str(int64Max());
}

int642Str

Konvertiert den angegebenen ganzzahligen Parameter in die entsprechende Textzeichenfolge.

str int642Str(int64 integer)

Die Parameter

Parameter Description
Integer Der int64, der in eine Zeichenfolge konvertiert werden soll.

Rückgabewert

Die entsprechende Textzeichenfolge des ganzzahligen Parameters.

Example

static void example()
{
    print "This is int2Str, value is " + int2Str(intMax());
    print "This is int642Str, value is " + int642Str(int64Max());
}

num2Char

Konvertiert eine ganze Zahl in das entsprechende ASCII-Zeichen.

str num2Char(int figure)

Die Parameter

Parameter Description
Abbildung Die ganze Zahl, die in ein Zeichen konvertiert werden soll.

Rückgabewert

Das Zeichen, das durch die angegebene ganze Zahl dargestellt wird.

Example

static void num2CharExample(Args _arg)
{
    str s;
    s = num2Char(42);
    // Prints an asterisk * -the character represented by 42.
    print s;
}

Num2Date

Ruft das Datum ab, das der angegebenen Anzahl von Tagen nach dem 1. Januar 1900 entspricht.

date num2Date(int _days)

Die Parameter

Parameter Description
_Tage Die Anzahl der Tage nach dem 1. Januar 1900, für die das Datum zurückgegeben werden soll. Anmerkung: Das erste gültige Datum ist der 1. Januar 1901. Daher gibt die Funktion "num2Date " kein gültiges Datum zurück, es sei denn , _days ist mehr als 365.

Rückgabewert

Das Datum, das die Anzahl der Tage ist, die durch den parameter _days nach dem 1. Januar 1900 angegeben wird.

Bemerkungen

num2Date(366); //Returns the date 01/01/1901 (1 January 1901).

num2Str

Konvertiert eine reelle Zahl in eine Zeichenfolge.

str num2Str(real number, int character, int decimals, int separator1, int separator2)

Die Parameter

Parameter Description
number Die reelle Zahl, die in eine Zeichenfolge konvertiert werden soll.
Zeichen Die Mindestanzahl der Zeichen, die im Text erforderlich sind.
Dezimalen Die erforderliche Anzahl von Dezimalstellen.
Trennzeichen1 Ein Enumerationswert von DecimalSeparator .
Trennzeichen2 Ein Tausendseparator-Enumerationswert .

Rückgabewert

Eine Zeichenfolge, die die Zahl darstellt.

Bemerkungen

Für den Dezimalparameter ist der Maximalwert 16. Wenn eine größere Zahl verwendet wird, ruft diese Methode stattdessen einen Wert für den Dezimalparameter vom lokalen Computer ab. In beiden Fällen tritt das Runden auf. Hier sind die möglichen Enumerationswerte für den Parameter Separator1 :

  • 99 – Auto (die Formatierungseinstellungen des Benutzers bestimmen, welches Dezimaltrennzeichen verwendet wird), Enumerationswert DecimalSeparator::Auto
  • 1 – Punkt (.), Enumerationswert DecimalSeparator::D ot
  • 2 – Komma (,), Enumerationswert DecimalSeparator::Komma

Hier sind die möglichen Werte für den Trennzeichen2-Parameter :

  • 99 – Auto (die Formatierungseinstellungen des Benutzers bestimmen, welches Tausendertrennzeichen verwendet wird)
  • 0 – None (kein Tausendertrennzeichen), Enumerationswert ThousandSeparator::None
  • 1 – Punkt (.), Enumerationswert ThousandSeparator::D ot
  • 2 – Komma (,), Enumerationswert ThousandSeparator::Komma
  • 3 – Apostroph ('), Enumerationswert ThousandSeparator::Apostroph
  • 4 – Leerzeichen ( ), Enumerationswert ThousandSeparator::Space

Example

Im folgenden Codebeispiel stellt der erste Aufruf der num2str-Methode16 für den Dezimalparameter bereit, und der zweite Aufruf stellt 17 bereit.

static void Job_Num2Str(Args _args)
{
    real realNum = 0.1294567890123456777; // 19 decimals places.
    info(Num2Str(realNum, 0, 16, DecimalSeparator::Dot, ThousandSeparator::Space)); // 16 decimal places
    info(Num2Str(realNum, 0, 17, DecimalSeparator::Dot, ThousandSeparator::Space)); // 17 decimal places
}

Output

Die Nachrichten befinden sich in der folgenden Infolog-Ausgabe. Die erste Zahl in der Ausgabe enthält 16 Dezimalstellen, während die zweite Zahl nur zwei Dezimalstellen enthält.

Message (10:18:12)
0.1294567890123457
0.13

str2Date

Konvertiert die angegebene Zeichenfolge in einen Datumswert .

date str2Date(str _text, str _sequence)

Die Parameter

Parameter Description
_Text Die Zeichenfolge, die in einen Datumswert konvertiert werden soll.
_Reihenfolge Eine dreistellige ganze Zahl, die die Positionen von Tag, Monat und Jahr in der zu konvertierenden Zeichenfolge beschreibt.

Rückgabewert

Ein Datumswert .

Bemerkungen

Verwenden Sie die folgenden Werte, um die Positionen von Tag, Monat und Jahr im parameter _sequence anzugeben:

  • Tag: 1
  • Monat: 2
  • Jahr: 3

Wenn beispielsweise die Sequenz in der Zeichenfolge Monat, Jahr und dann Tag ist, muss der parameter _sequence231 sein. Ein 0 (Null)-Datum wird zurückgegeben, wenn die Eingabeparameter ein ungültiges Datum angeben. In den folgenden beiden Beispielen wird ein ungültiges Datum angegeben.

str2Date("31/12/44", 123) // Year must be four digits to reach the minimum of January 1 1901.
str2Date("31/12/2044", 213) // 213 means the month occurs first in the string, but 31 cannot be a month.

Example

static void str2DateExample(Args _arg)
{
    date d;
    d = str2Date("22/11/2007", 123);
    print d;
}

str2Datetime

Generiert einen utcdatetime-Wert aus der angegebenen Zeichenfolge von Datums- und Uhrzeitinformationen.

utcdatetime str2datetime( str text, int sequence )

Die Parameter

Parameter Description
Text Die Zeichenfolge, die in einen utcdatetime-Wert konvertiert werden soll.
Sequenz Eine dreistellige Zahl, die die Reihenfolge der Datumskomponenten im Textparameter beschreibt.

Rückgabewert

Ein utcdatetime-Wert , der das angegebene Datum und die angegebene Uhrzeit darstellt.

Bemerkungen

Die Syntaxanforderungen für den Datumsteil des Textparameters sind flexibel. Die Vielzahl gültiger Formate ist identisch mit der Date2str-Funktion . Jeder der folgenden Aufrufe von str2datetime ist gültig, und alle von ihnen erzeugen dieselbe Ausgabe.

utc3 = str2datetime( "1985/02/25 23:04:59" ,321 );
utc3 = str2datetime( "Feb-1985-25 11:04:59 pm" ,231 );
utc3 = str2datetime( "2 25 1985 11:04:59 pm" ,123 );

Jede Komponente der Datumszeit wird durch eine Ziffer im Sequenzparameter dargestellt:

  • 1 – Tag
  • 2 – Monat
  • 3 – Jahr

Beispiel: Jahr, Monat, Tagesreihenfolge ist 321. Alle gültigen Werte enthalten jede dieser drei Ziffern genau einmal. Wenn der Wert des Sequenzparameters ungültig ist, werden die regionalen Einstellungen verwendet, um den Eingabetextparameter zu interpretieren. Wenn die Eingabeparameter ein ungültiges Datum und eine ungültige Uhrzeit beschreiben, wird eine leere Zeichenfolge zurückgegeben.

Example

static void JobTestStr2datetime( Args _args )
{
    utcdatetime utc3;
    str sTemp;
    utc3 = str2datetime( "1985/02/25 23:04:59" ,321 );
    sTemp = datetime2str( utc3 );
    print( "sTemp == " + sTemp );
}

str2Enum

Ruft das Enumerationselement ab, für das der lokalisierte Label-Eigenschaftswert der Eingabezeichenfolge entspricht.

enum str2Enum(enum _type, str _text)

Die Parameter

Parameter Description
_type Eine Variable, die vom Enumerationstyp deklariert wird.
_Text Der lokalisierte Bezeichnungseigenschaftstext des Zielelements in der Enumeration.

Rückgabewert

Ein Element der Zielenume, das auch ein Int darstellt.

Bemerkungen

Die zugehörige Funktion enum2str gibt den Wert einer Label-Eigenschaft aus einem Element in der Enumeration zurück. Der wert, der von der enum2str-Funktion zurückgegeben wird, kann die Eingabe für den _type-Parameter der Str2enum-Funktion sein. Ein entsprechender Wert für den parameter _text ist enum2Str(BankAccountType::SavingsAccount). Jedes Element einer Enumeration weist eine Name-Eigenschaft und eine Label-Eigenschaft auf. Bei einer neu installierten Installation sind die Namenswerte fast immer englische Wörter. In der englischen Ausgabe ist der Wert der Label-Eigenschaft fast immer identisch mit dem Name-Wert . In nicht englischen Editionen werden die Bezeichnungswerte jedoch lokalisiert und entsprechen daher nicht den Namenswerten .

Example

Um Zeichenfolgenkonflikte zu vermeiden, die durch lokalisierung in andere gesprochene Sprachen verursacht werden, empfehlen wir, dass Sie die enum2str-Funktion verwenden, um die Eingabe in die Str2enum-Funktion zu generieren. Das folgende Beispiel zeigt die geeignete Methode, um die Str2enum-Funktion zusammen mit der enum2str-Funktion zu verwenden.

static void str2Enum_AcrossLangs(Args _arg)
{
    BankAccountType bat;
    str sEnumValueLabelLocalized;
    int nInt;
    // enum2str.
    sEnumValueLabelLocalized = enum2str(BankAccountType::SavingsAccount);
    info("Localized friendly string: "
        + sEnumValueLabelLocalized);
    // str2enum.
    bat = str2Enum(bat, sEnumValueLabelLocalized);
    nInt = bat;
    info("nInt = " + int2str(nInt));
    /********** Actual output:
    Message (04:32:12 pm)
    Localized friendly string: Savings account
    nInt = 1
    **********/
}

str2Guid

Konvertiert eine Zeichenfolge in ein GUID-Objekt.

Guid str2Guid(str text)

Die Parameter

Parameter Description
guid Eine Zeichenfolge, die eine GUID darstellt.

Rückgabewert

Eine GUID, die durch die Eingabezeichenfolge dargestellt wird.

Bemerkungen

Beispielsweise ist ein gültiger Wert für den GUID-Parameter{12345678-1234-abCD-3456-123456789012}, entweder mit oder ohne geschweifte Klammern.

str2Int

Konvertiert eine Zeichenfolge in die entsprechende ganze Zahl.

int str2Int(str _text)

Die Parameter

Parameter Description
_Text Die Zeichenfolge, die in eine ganze Zahl konvertiert werden soll.

Rückgabewert

Die ganzzahlige Entsprechung der angegebenen Zeichenfolge.

Example

static void str2IntExample(Args _arg)
{
    int i;
    i = str2Int("1234567890");
    print "i = " + int2Str(i);
}

str2Int64

Konvertiert eine Zeichenfolge in einen Int64-Wert .

int str2Int64(str text)

Die Parameter

Parameter Description
Text Die zu konvertierende Zeichenfolge

Rückgabewert

Der Int64-Wert der angegebenen Zeichenfolge.

Example

static void str2Int64Example(Args _args)
{
    str myStr;
    str tooBig;
    Int64 myInt64;
    myStr = "1234567890";
    tooBig = int642str(int64Max()+1);
    myInt64 = str2Int64(mystr);
    print strfmt ("int64: %1",myInt64);
    myInt64 = str2Int64(tooBig);
    print strfmt ("Too big int64: %1",myInt64);
}

str2Num

Konvertiert eine Zeichenfolge in eine reelle Zahl.

real str2Num(str _text)

Die Parameter

Parameter Description
_Text Die Zeichenfolge, die in eine reelle Zahl konvertiert werden soll.

Rückgabewert

Die reelle Zahl, wenn die angegebene Zeichenfolge eine gültige Zahl enthält; andernfalls 0 (null).

Bemerkungen

Die folgenden Beispiele zeigen, wie diese Funktion verwendet wird.

str2Num("123.45") returns the value 123.45.
str2Num("a123") returns the value 0.0.
str2Num("123a") returns the value 123.00.

Das Scannen erfolgt von links nach rechts und endet, wenn ein Zeichen nicht in einen Teil einer reellen Zahl konvertiert werden kann.

Example

static void str2NumToReal(Args _arg)
{
    real r;
    str s;
    r = str2Num("3.15");
    s = strFmt("r = %1", r);
    info(s);
}
/*** Infolog output.
Message_@SYS14327 (02:36:12 pm)
r = 3.15
***/

static void str2NumExponentialSyntax(Args _args)
{
    Qty qty1, qty2, qty3;
    qty1 = str2num('1e-3'); // Bad syntax by the user.
    qty2 = str2num('1.e-3');
    qty3 = str2num('1.0e-3');
    info(strfmt('Result: %1; Expected: %2', num2str(qty1, 0,3,2,0), '0.001'));
    info(strfmt('Result: %1; Expected: %2', num2str(qty2, 0,3,2,0), '0.001'));
    info(strfmt('Result: %1; Expected: %2', num2str(qty3, 0,3,2,0), '0.001'));
}
/*** Infolog output. The first result differs from expectations.
Message_@SYS14327 (02:20:55 pm)
Result: 1,000; Expected: 0.001
Result: 0,001; Expected: 0.001
Result: 0,001; Expected: 0.001
***/

str2Time

Konvertiert eine Zeichenfolge in einen timeOfDay-Wert .

int str2Time(str _text)

Die Parameter

Parameter Description
_Text Die Zeit, die zum Berechnen der Anzahl von Sekunden seit Mitternacht verwendet werden soll.

Rückgabewert

Die Anzahl der Sekunden zwischen Mitternacht und dem parameter _text ; andernfalls -1.

Bemerkungen

str2Time("05:01:37") //Returns the value 18097.
str2Time("7 o'clock") //Returns the value -1.

Example

static void str2TimeExample(Args _arg)
{
    int i;
    i = str2Time("11:30");
    print i;
}

time2Str

Wandelt einen timeOfDay-Wert in eine Zeichenfolge um, die Stunden, Minuten und Sekunden enthält.

str time2Str(int _time, int _separator, int _timeFormat)

Die Parameter

Parameter Description
_Zeit Ein timeOfDay-Wert .
_Separator Ein TimeSeparator-Enumerationswert , der die Zeichen zwischen Stunden, Minuten und Sekunden in der Ausgabezeichenfolge angibt.
_timeFormat Ein TimeFormat-Enumerationswert , der angibt, ob ein 12-Stunden-Format oder eine 24-Stunden-Uhr verwendet wird.

Rückgabewert

Eine Zeichenfolge, die die angegebene Uhrzeit darstellt.

Bemerkungen

Der Wert des _time-Parameters ist die Anzahl der Sekunden seit Mitternacht.

Example

static void TimeJob4(Args _args)
{
    timeOfDay theTime = timeNow();
    info( time2Str(theTime, TimeSeparator::Colon, TimeFormat::AMPM) );
}
/**
Message (04:33:56 pm)
04:33:56 pm
**/

uint2Str

Konvertiert eine ganze Zahl in eine Zeichenfolge. Es wird davon ausgegangen, dass die ganze Zahl nicht signiert ist.

str uint2Str(int integer)

Die Parameter

Parameter Description
Integer Die zu konvertierende Ganze Zahl.

Rückgabewert

Die Zeichenfolge, die der angegebenen ganzzahligen Vorzeichen entspricht.

Bemerkungen

Verwenden Sie diese Funktion anstelle der int2str-Funktion für sehr große ganze Zahlen, z. B. Datensatz-IDs.

info(int2str(3123456789)); //returns -1171510507 as a string.
info(uint2str(3123456789)); //returns 3123456789 as a string.