Funzioni di runtime di conversione X++

Nota

I gruppi di interesse della comunità si sono ora spostati da Yammer a Microsoft Viva Engage. Per unirti a una community Viva Engage e partecipare alle ultime discussioni, compila il modulo Richiedi accesso alla Comunità Viva Engage Finanza e Operazioni e scegli la community a cui vuoi entrare.

Questo articolo descrive le funzioni di runtime di conversione.

qualsiasi2Data

Converte un valore anytype in un valore di data .

date any2Date(anytype object)

Parametri

Parametro Descrizione
oggetto Valore da convertire in una data.

Valore restituito

Valore di data .

Commenti

Il parametro oggetto può essere la maggior parte dei tipi di dati, ma ottieni un output utile quando è di tipo str o int . Contenuti inappropriati generano un errore di runtime.

Esempio

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

Converte un valore anytype nel valore della proprietà Name di un elemento nell'enumerazione di destinazione.

enum any2Enum(anytype object)

Parametri

Parametro Descrizione
oggetto Valore che deve corrispondere alla proprietà Value di un elemento nell'enumerazione di destinazione.

Valore restituito

Il valore della proprietà Name per qualsiasi elemento nell'enumerazione di destinazione dispone di una proprietà Value che corrisponde al parametro di input.

Commenti

Il parametro oggetto può essere la maggior parte dei tipi di dati, ma ottieni dati utili solo quando usi un parametro del tipo str o int . Questo parametro dell'oggetto di input fa riferimento alla proprietà Value di un singolo elemento nell'enumerazione di destinazione.

Esempio

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

Converte l'oggetto anytype specificato in un oggetto GUID.

guid any2Guid(anytype object)

Parametri

Parametro Descrizione
oggetto Valore da convertire in un oggetto GUID.

Valore restituito

Oggetto GUID.

qualsiasi2Int

Converte un valore anytype in un valore int .

int any2Int(anytype object)

Parametri

Parametro Descrizione
oggetto Valore da convertire.

Valore restituito

Valore int .

Commenti

Il parametro oggetto può essere la maggior parte dei tipi di dati, ma ottieni dati utili solo quando usi parametri di tipo enum, real o str .

Esempio

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.
****/

qualsiasi2Int64

Converte un oggetto anytype in un oggetto int64 .

int64 any2Int64(anytype object)

Parametri

Parametro Descrizione
oggetto Oggetto anytype da convertire.

Valore restituito

Oggetto int64 .

any2Real

Converte un valore anytype in un valore reale .

real any2Real(anytype object)

Parametri

Parametro Descrizione
oggetto Valore da convertire.

Valore restituito

Un valore reale .

Commenti

Il parametro oggetto può essere la maggior parte dei tipi di dati, ma ottieni output utili per gli elementi di input dei tipi date, int, enum e str .

Esempio

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
****/

qualsiasi2Str

Converte un valore anytype in un valore str .

str any2Str(anytype object)

Parametri

Parametro Descrizione
oggetto Valore da convertire.

Valore restituito

Un valore str .

Commenti

Il parametro oggetto può essere la maggior parte dei tipi di dati, ma ottieni output utili dagli elementi di input dei tipi date, int ed enum .

Esempio

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

Vedi any2Date.

anytoenum

Vedi any2Enum.

anytoguid

Vedere any2Guid.

anytoint

Vedi any2Int.

anytoint64

Vedere any2Int64.

anytoreal

Vedi any2Real.

anytostr

Vedi qualsiasi2Str.

char2Num

Converte un carattere di una stringa nel valore ASCII del carattere.

int char2Num(str text, int position)

Parametri

Parametro Descrizione
inviare un SMS La stringa che contiene il carattere.
posizione Posizione del carattere nella stringa.

Valore restituito

Valore ASCII del carattere come oggetto int .

Commenti

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

Converte una data in un numero intero che corrisponde al numero di giorni trascorsi dal 1° gennaio 1900.

int date2Num(date _date)

Parametri

Parametro Descrizione
_dattero La data di conversione.

Valore restituito

Il numero di giorni tra il 1° gennaio 1900 e la data specificata.

Esempio

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

date2Str

Converte la data specificata in una stringa.

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

Parametri

Parametro Descrizione
dattero La data di conversione.
sequenza Un numero di tre cifre che indica la sequenza per i componenti della data: 1 per il giorno, 2 per il mese e 3 per l'anno.
giorno Valore di enumerazione che indica il formato per il componente giorno della data.
separatore1 Valore di enumerazione che indica il separatore da utilizzare tra i primi due componenti della data.
mese Valore di enumerazione che indica il formato per il componente del mese della data.
separatore2 Valore di enumerazione che indica il separatore da utilizzare tra gli ultimi due componenti della data.
anno Valore di enumerazione che indica il formato per il componente dell'anno della data.
Bandiere Valore di enumerazione DateFlags che indica se le impostazioni della lingua nel computer locale devono essere utilizzate per calcolare la sequenza corretta da sinistra a destra o da destra a sinistra nella stringa restituita.

Valore restituito

Stringa che rappresenta la data specificata.

Commenti

MorphX alloca valori validi ai parametri di formattazione se i valori specificati non sono validi. Per utilizzare il formato di data specificato dall'utente in Impostazioni internazionali, utilizzare la funzione strFmt o date2Str e specificare -1 in tutti i parametri di formattazione. Quando le impostazioni internazionali controllano il formato della data, le impostazioni possono cambiare da utente a utente. Se si utilizza -1per uno dei parametri separatori, per impostazione predefinita entrambi i separatori sono le impostazioni internazionali. I valori dei parametri di sequenza devono essere un numero di tre cifre che contiene esattamente una occorrenza di ciascuna delle cifre 1, 2 e 3. Le cifre 1, 2 e 3 rappresentano rispettivamente il giorno, il mese e l'anno. Ad esempio, 321 produce la sequenza anno, mese e giorno. In alternativa, il valore può essere -1 per utilizzare le impostazioni internazionali. Non usare un tipo di enumerazione per questo parametro, perché numeri come 321 superano l'intervallo dei valori validi per i valori di enumerazione, che va da 0 a 250, inclusi. Il valore predefinito del parametro flags è il valore di enumerazione DateFlags::None , il che significa che non viene eseguita alcuna elaborazione della sequenza da sinistra a destra o da destra a sinistra.

Esempio

Nell'esempio seguente viene visualizzata la data corrente nella sequenza di anno, mese e giorno.

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

Converte un valore utcdatetime in una stringa.

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

Parametri

Parametro Descrizione
datetime Valore utcdatetime da convertire.
Bandiere Valore di enumerazione DateFlags che indica se utilizzare le impostazioni locali per l'output da destra a sinistra.

Valore restituito

Una stringa che rappresenta il valore utcdatetime che specifichi come parametro datetime .

Commenti

Input data-ora null

Se specifichi il valore minimo utcdatetime per il parametro datetime , la funzione datetime2Str lo considera un valore di input nullo. Questo valore fa sì che la funzione restituisca una stringa vuota. Il metodo DateTimeUtil::minValue restituisce la data-ora 1900-01-01T00:00:00. La funzione considera questo valore minimo come nullo.

Impostazioni locali da destra a sinistra

Per impostazione predefinita, questa funzione genera la stringa in sequenza da sinistra a destra, dove la parte dell'anno è la più a sinistra. Tuttavia, se imposti il parametro flags al valore di enumerazione DateFlags::FormatAll , la funzione genera la stringa in sequenza da destra a sinistra quando le impostazioni locali sono configurate da destra a sinistra. Le impostazioni regionali non influenzano il formato del metodo toStr della classe DateTimeUtil .

Esempio

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

enum2Str

Converte il testo enumerato specificato in una rappresentazione di caratteri.

str enum2Str(enum enum)

Parametri

Parametro Descrizione
enumerazione Testo enumerato da convertire.

Valore restituito

Valore dell'enumerazione come stringa.

Esempio

Il seguente esempio restituisce la stringa "Non incluso." Questa stringa è l'etichetta per il valore IncludeNot del tipo di enumerazione ListCode .

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

guid2Str

Converte l'oggetto GUID specificato nella stringa equivalente.

str guid2String(guid _uuid)

Parametri

Parametro Descrizione
_uuid Oggetto GUID da convertire.

Valore restituito

Equivalente stringa dell'oggetto GUID specificato.

Esempio

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

Converte un numero intero nella stringa equivalente.

str int2Str(int integer)

Parametri

Parametro Descrizione
Integer Numero intero da convertire.

Valore restituito

Rappresentazione in stringa del numero intero.

Esempio

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

int642Str

Converte il parametro intero specificato nella stringa di testo equivalente.

str int642Str(int64 integer)

Parametri

Parametro Descrizione
Integer Oggetto int64 da convertire in una stringa.

Valore restituito

Stringa di testo equivalente del parametro integer .

Esempio

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

num2Char

Converte un numero intero nel carattere ASCII corrispondente.

str num2Char(int figure)

Parametri

Parametro Descrizione
figura Numero intero da convertire in un carattere.

Valore restituito

Il carattere che corrisponde all'intero specificato.

Esempio

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

num2Data

Recupera la data che corrisponde al numero di giorni specificato dopo il 1° gennaio 1900.

date num2Date(int _days)

Parametri

Parametro Descrizione
_Giorni Il numero di giorni dopo il 1° gennaio 1900 per restituire la data per. Nota: La prima data valida è il 1º gennaio 1901. Pertanto, la funzione num2Date non restituisce una data valida a meno che _days non sia maggiore di 365.

Valore restituito

La data è il numero di giorni specificato dal parametro _days dopo il 1° gennaio 1900.

Commenti

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

num2Str

Converte un numero reale in una stringa.

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

Parametri

Parametro Descrizione
numero Numero reale da convertire in stringa.
carattere Il numero minimo di caratteri necessari nel testo.
Decimali Il numero richiesto di cifre decimali.
separatore1 Valore di enumerazione DecimalSeparator .
separatore2 Valore di enumerazione ThousandSeparator .

Valore restituito

Una stringa che rappresenta il numero.

Commenti

Per il parametro decimals , il valore massimo è 16. Se usi un numero maggiore, il metodo ottiene invece un valore per il parametro decimale dal computer locale. In entrambi i casi, si verifica l'arrotondamento. Di seguito sono riportati i possibili valori di enumerazione per il parametro separator1 :

  • 99 - Auto (le impostazioni di formattazione dell'utente determinano quale separatore decimale viene utilizzato), valore di enumerazione DecimalSeparator::Auto
  • 1 – Punto (.), valore di enumerazione DecimalSeparator::D ot
  • 2 – Virgola (,), valore di enumerazione DecimalSeparator::Comma

Di seguito sono riportati i valori possibili per il parametro separator2 :

  • 99 - Auto (le impostazioni di formattazione dell'utente determinano quale separatore delle migliaia viene utilizzato)
  • 0 – Nessuno (nessun separatore delle migliaia), valore di enumerazione ThousandSeparator::None
  • 1 - Punto (.), valore di enumerazione ThousandSeparator::D ot
  • 2 – Virgola (,), valore di enumerazione ThousandSeparator::Comma
  • 3 – Apostrofo ('), valore di enumerazione ThousandSeparator::Apostrophe
  • 4 – Spazio ( ), valore di enumerazione ThousandSeparator::Space

Esempio

Nell'esempio di codice seguente, la prima chiamata al metodo num2str fornisce 16 per il parametro decimals e la seconda chiamata fornisce 17.

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

I messaggi si trovano nel seguente output Infolog. Il primo numero nell'output contiene 16 cifre decimali, mentre il secondo numero contiene solo due cifre decimali.

Message (10:18:12)
0.1294567890123457
0.13

str2Date

Converte la stringa specificata in un valore di data .

date str2Date(str _text, str _sequence)

Parametri

Parametro Descrizione
_Testo Stringa da convertire in un valore di data .
_sequenza Numero intero a tre cifre che descrive le posizioni del giorno, del mese e dell'anno nella stringa da convertire.

Valore restituito

Valore di data .

Commenti

Utilizzare i seguenti valori per specificare le posizioni del giorno, del mese e dell'anno nel parametro _sequence :

  • Giorno: 1
  • Mese: 2
  • Anno: 3

Ad esempio, se la sequenza nella stringa è mese, anno e quindi giorno, il parametro _sequence deve essere 231. Se i parametri di input specificano una data non valida, viene restituita una data 0 (zero). Nei due esempi seguenti viene specificata una data non valida.

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.

Esempio

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

str2Datetime

Genera un valore utcdatetime dalla stringa specificata di informazioni su data e ora.

utcdatetime str2datetime( str text, int sequence )

Parametri

Parametro Descrizione
inviare un SMS Stringa da convertire in un valore utcdatetime .
sequenza Un numero di tre cifre che descrive la sequenza dei componenti della data nel parametro text .

Valore restituito

Valore utcdatetime che rappresenta la data e l'ora specificate.

Commenti

I requisiti di sintassi per la parte relativa alla data del parametro text sono flessibili. La varietà di formati validi è la stessa della funzione date2str . Ognuna delle chiamate seguenti a str2datetime è valida e tutte producono lo stesso output.

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 );

Ogni componente della data e dell'ora è rappresentato da una cifra nel parametro della sequenza :

  • 1 – Giorno
  • 2 – Mese
  • 3 – Anno

Ad esempio, l'ordine di anno, mese e giorno è 321. Tutti i valori validi contengono ciascuna di queste tre cifre esattamente una volta. Se il valore del parametro sequence non è valido, le impostazioni internazionali vengono usate per interpretare il parametro di testo di input. Se i parametri di input descrivono una data e un'ora non valide, viene restituita una stringa vuota.

Esempio

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

Recupera l'elemento enum per il quale il valore della proprietà Label localizzata corrisponde alla stringa di input.

enum str2Enum(enum _type, str _text)

Parametri

Parametro Descrizione
_digitare Una variabile che dichiari come tipo enum .
_Testo Testo della proprietà Label localizzato dell'elemento di destinazione nell'enumerazione.

Valore restituito

Elemento dell'enumerazione di destinazione, che rappresenta anche un int.

Commenti

La funzione correlata enum2str restituisce il valore di una proprietà Label da un elemento nell'enumerazione. Il valore restituito dalla funzione enum2str può essere l'input per il parametro _type della funzione str2enum . Un valore appropriato per il parametro _text è enum2Str(BankAccountType::SavingsAccount). Ogni elemento di un'enumerazione dispone di una proprietà Name e di una proprietà Label . In una nuova installazione, i valori Name sono quasi sempre parole inglesi. Nell'edizione inglese, il valore della proprietà Label è quasi sempre uguale al valore Name . Tuttavia, nelle edizioni non in lingua inglese, i valori Label sono localizzati e pertanto non corrispondono ai valori Name .

Esempio

Per evitare disallineamenti di stringhe causati dalla localizzazione in altre lingue parlate, usa la funzione enum2str per generare l'input nella funzione str2enum . Nell'esempio seguente viene illustrato il modo appropriato per utilizzare la funzione str2enum insieme alla funzione enum2str .

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

Converte una stringa in un oggetto GUID.

Guid str2Guid(str text)

Parametri

Parametro Descrizione
Guid Stringa che rappresenta un GUID.

Valore restituito

Un GUID che rappresenta la stringa di input.

Commenti

Ad esempio, un valore valido per il parametro guid è {12345678-1234-abCD-3456-123456789012}, con o senza le parentesi graffe.

str2Int

Converte una stringa in un numero intero equivalente.

int str2Int(str _text)

Parametri

Parametro Descrizione
_Testo La stringa da convertire in un numero intero.

Valore restituito

Equivalente intero della stringa specificata.

Esempio

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

str2Int64

Converte una stringa in un valore Int64 .

int str2Int64(str text)

Parametri

Parametro Descrizione
inviare un SMS Stringa da convertire.

Valore restituito

Valore Int64 della stringa specificata.

Esempio

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

Converte una stringa in un numero reale.

real str2Num(str _text)

Parametri

Parametro Descrizione
_Testo La stringa da convertire in un numero reale.

Valore restituito

Il numero reale se la stringa specificata contiene un numero valido; in caso contrario, 0 (zero).

Commenti

I seguenti esempi mostrano come utilizzare questa funzione.

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

La scansione avviene da sinistra a destra e termina quando un carattere non può essere convertito in parte di un numero reale.

Esempio

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

Converte una stringa in un valore timeOfDay .

int str2Time(str _text)

Parametri

Parametro Descrizione
_Testo Il tempo da utilizzare per calcolare il numero di secondi dalla mezzanotte.

Valore restituito

Il numero di secondi tra la mezzanotte e il parametro _text ; in caso contrario, -1.

Commenti

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

Esempio

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

tempo2Str

Converte un valore timeOfDay in una stringa che include ore, minuti e secondi.

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

Parametri

Parametro Descrizione
_Ore Valore timeOfDay .
_separatore Valore di enumerazione TimeSeparator che indica i caratteri compresi tra ore, minuti e secondi nella stringa di output.
_timeFormat Valore di enumerazione TimeFormat che indica se viene utilizzato un orologio a 12 ore o a 24 ore.

Valore restituito

Stringa che rappresenta l'ora specificata.

Commenti

Il valore del parametro _time è il numero di secondi trascorsi dalla mezzanotte.

Esempio

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

Converte un numero intero in una stringa. Questa funzione assume che l'intero sia senza segno.

str uint2Str(int integer)

Parametri

Parametro Descrizione
Integer Numero intero da convertire.

Valore restituito

L'equivalente della stringa dell'intero senza segno specificato.

Commenti

Utilizzare questa funzione al posto della funzione int2str per numeri interi molto grandi, ad esempio gli ID record.

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