Skip to main content

Funzioni di conversione

Una funzione di conversione converte un tipo di dati o formato in un altro tipo di dati o formato. Utilizza la funzione di conversione per convertire i numeri in stringhe o le stringhe in numeri. Le funzioni di conversione possono essere utilizzate con i tipi di dati Stringa e Numero.

BinToInt

BinToInt(s) : converte la stringa binaria s in un numero intero. È limitato a 64 bit di precisione e può avere una lunghezza massima di 64 bit.

Esempio

  • BinToInt("101010101")  restituisce 341. Se la stringa è lunga esattamente 32 o 64 caratteri, verrà considerata come un numero con segno:

  • BinToInt("11111111111111111111111111111011")  restituisce -5. I segni iniziali "+" e "-" hanno la precedenza sul fatto di considerare 32 e 64 caratteri come un numero con segno:

  • BinToInt("-111")  restituisce -7.

  • BinToInt("+111")  restituisce 7.

CharFromInt

CharFromInt(x) : restituisce il carattere Unicode® corrispondente al numero di input x.

Esempio

  • CharFromInt(66)  restituisce B (U+0042 "lettera maiuscola latina B").

  • CharFromInt(169)  restituisce © (U+00A9 "simbolo di copyright").

  • CharFromInt(1071)  restituisce Я (U+042F "lettera maiuscola cirillica YA").

  • CharFromInt(127944)  restituisce 🏈 (U+1F3C8 "palla da football americano").

  • CharFromInt(0)  restituisce [null] (U+000 "Null') perché qualsiasi numero intero che non può essere utilizzato per rappresentare un carattere può restituire un risultato nullo.

  • CharFromInt(55300)  restituisce [null] perché qualsiasi numero intero che attualmente non rappresenta un carattere non verrà rappresentato da un carattere normale.

CharToInt

CharToInt(s) : restituisce il numero corrispondente al carattere Unicode® di input s.

Esempio

  • CharToInt("B")  restituisce 66 (U+0042 "lettera maiuscola latina B").

  • CharToInt("©")  restituisce 169 (U+00A9 "simbolo di copyright").

  • CharToInt("Я")  restituisce 1071 (U+042F "lettera maiuscola cirillica YA").

  • CharToInt()  restituisce 127944 (U+1F3C8 "palla da football americano").

ConvertFromCodePage

ConvertFromCodePage(s, codePage) : traduce il testo da una tabella codici in Unicode. Per ulteriori informazioni sulle tabelle codici, consulta la documentazione Tabelle codici .

ConvertToCodePage

ConvertToCodePage(s, codePage) : traduce il testo con codifica Unicode® in una tabella codici specifica. Per ulteriori informazioni sulle tabelle codici, consulta la documentazione Tabelle codici .

HexToNumber

HexToNumber(x): converte una stringa HEX in un numero (limite di 64 bit). Se sono presenti 64 bit, 16 caratteri esadecimali e il bit principale è impostato, il risultato è negativo.

Esempio

  • HexToNumber("7FFFFFFFFFFFFFFA")  restituisce 9223372036854775802.

  • HexToNumber("FFFFFFFFFFFFFFFA")  restituisce -6.

  • HexToNumber("FFFFFFFFFFFFFFFB")  restituisce -5.

IntToBin

IntToBin(x) : converte x in una stringa binaria.

IntToHex

IntToHex(x) : converte x in una stringa esadecimale.

ToDegrees

ToDegrees(x) : converte un valore radiante numerico (x) in gradi tramite il calcolo (x)rad x 180/π. Tieni presente che x deve essere un valore numerico e non può includere alcun simbolo di radiante (rad).

Esempio

  • TODEGREES(0)  restituisce 0.

  • TODEGREES(1)  restituisce 57.29578 (1 * 180/π).

  • TODEGREES(Null)  restituisce null.

  • TODEGREES(2.5)  returns 143.239449 (2.5 * 180/π).

ToNumber

ToNumber(x, [bIgnoreErrors], [keepNulls], [decimalSeparator]) : converte una stringa (x) in un numero. ToNumber accetta stringhe che possono essere interpretate come doppia precisione di notazione scientifica. Per impostazione predefinita, il punto viene utilizzato come separatore decimale. Prima (non dopo) del separatore decimale (se presente), vengono rimossi tutti i separatori delle migliaia plausibili: spazio, virgola, punto e apostrofo. È possibile scrivere "123 456’789.012345".

ToNumber può restituire un valore intero con 64 bit di precisione se la stringa di input è simile a un numero intero ed è compresa nell'intervallo.

Valori non numerici

ToNumber valuta la stringa dall'inizio e si arresta quando incontra un valore non numerico (ignorando virgole, punti, spazi e apostrofi).

Ad esempio, la stringa "Giugno 2022" restituisce 0 o [Null] (a seconda della configurazione), mentre "2022 Giugno" restituisce 2022.

Parametri facoltativi

  • bIgnoreErrors

    • (Impostazione predefinita) 0 o false riporta messaggi di errore di conversione.

    • 1 o true ignora gli errori di conversione.

  • keepNulls

    • (Impostazione predefinita) 0 o false converte i valori non numerici (compreso null) in zero.

    • 1 o true converte i valori non numerici in null.

  • decimalSeparator : il separatore decimale della stringa in entrata.

    • (Impostazione predefinita) "." specifica un punto come separatore decimale.

    • "," specifica una virgola come separatore decimale.

    Il parametro decimalSeparator ignora qualsiasi separatore delle migliaia designato (spazio, punto, virgola o apostrofo) della stringa in entrata.

Esempio

  • ToNumber("878")  restituisce la stringa 878 come numero.

  • ToNumber("4.256411411E9")  resituisce il numero 4256411411.0.

  • ToNumber("9223372036854775807")  restituisce 9223372036854775807. Tuttavia,  ToNumber("9.223372036854774273e18")  restituisce un doppio, che perderà la precisione e verrà arrotondato a 9223372036854775808.

  • ToNumber("Number", "false")  restituisce 0 con errore di conversione: TONUMBER: il numero ha perso informazioni nella conversione.

  • ToNumber("Number", 0, 0)  restituisce 0 con errore di conversione: TONUMBER: il numero ha perso informazioni nella conversione.

  • ToNumber("Number", 1, 0)  restituisce 0 senza errori di conversione.

  • ToNumber("Number", 1, 1)  restituisce [null] e nessun errore di conversione.

  • ToNumber("123456,789", 1, 1, ",")  restituisce 123456.789 come numero.

  • ToNumber("123.456,789", 1, 1, ",")  restituisce 123456.789 come numero. Ciò si verifica perché il punto viene interpretato come separatore delle migliaia se precede il separatore decimale specificato tramite decimalSeparator .

  • ToNumber("June 2022")  restituisce 0. La funzione rileva immediatamente un valore non numerico e lo converte in 0.

  • ToNumber("2022 June")  restituisce 2022 come numero. Si arresta quando incontra un valore non numerico, la G in giugno.

  • ToNumber("6/1/2022")  restituisce 6 come numero. Si arresta quando incontra un valore non numerico, /.

  • ToNumber("2022 5:00:00")  restituisce 20225 come numero. Si arresta quando incontra un valore non numerico, : dopo 5. Gli spazi prima di un separatore decimale vengono ignorati.

ToRadians

ToRadians(x) converte un valore numerico in gradi (x) in radianti tramite il calcolo (x)  x π/180. Tieni presente che x deve essere un valore numerico e non può includere il simbolo del grado (°).

Esempio

  • TORADIANS(0)  restituisce 0 (0 * π/180).

  • TORADIANS(1)  restituisce 0.017453 (1 * π/180).

  • TORADIANS(5)  restituisce 0.087266 (5 * π/180).

  • TORADIANS(2.5)  restituisce 0.043633 (2.5 * π/180).

ToString

ToString(x, [numDec], [addThousandsSeparator], [decimalSeparator]) : converte un parametro numerico (x) in una stringa utilizzando posizioni decimali numDec *. La selezione predefinita utilizza un punto come separatore decimale. ToString considera i valori Int64 in maniera diversa, in modo da non perdere precisione nella conversione. ToString(value, 0, 1) con valore=18014398509481983 fornisce esattamente 18,014,398,509,481,983.

*Il valore massimo per il parametro numDec è 100.

Parametri facoltativi

  • addThousandsSeparator

    • (impostazione predefinita) 0 formatta la stringa numerica senza separatore delle migliaia.

    • 1 formatta con separatore delle migliaia. Per impostazione predefinita, il separatore delle migliaia è una virgola, a meno che non sia specificato "," per decimalSeparator , nel qual caso il separatore delle migliaia è un punto.

    • "," specifica una virgola come separatore delle migliaia.

    • "." specifica un punto come separatore delle migliaia.

    • " " specifica uno spazio come separatore delle migliaia.

    • "'" specifica un apostrofo come separatore delle migliaia.

  • decimalSeparator

    • (Impostazione predefinita) "." specifica il punto come separatore decimale.

    • "," specifica la virgola come separatore decimale.

Esempio

  • ToString(10, 0)  restituisce 10 come stringa.

  • ToString(10.4, 2)  restituisce 10.40 come stringa.

  • ToString(100.4, 2)  restituisce 100.40 come stringa.

  • ToString(1000.4, 2, 1)  restituisce 1,000.40 come stringa.

  • ToString(123456.789, 3, 1, ",")  restituisce 123.456,789 come stringa.

  • ToString(123456.789, 3, 0, ",")  restituisce 123456,789 come stringa.

  • ToString(1234567.89, 2, ".", ",")  restituisce 1.234.567,89 come stringa.

  • ToString(1234567.89, 2, " ", ",")  restituisce 1 234 567,89 come stringa.

  • ToString(1234567.89, 2, "'", ",")  restituisce 1'234'567,89 come stringa.