Differenze tra le versioni di "Convertire un numero di tipo stringa in un valore di tipo Float con la funzione g strtod() della libreria glib-2.0"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "La funzion esterna ''g_strtod( )'' della libreria ''glib-2.0'' converte un numero di tipo stringa in un valore in virgola mobile di tipo simile al ''double'' del C, che in Gam...") |
|||
Riga 1: | Riga 1: | ||
La funzion esterna ''g_strtod( )'' della libreria ''glib-2.0'' converte un numero di tipo stringa in un valore in virgola mobile di tipo simile al ''double'' del C, che in Gambas corrisponde al tipo "''Float''". | La funzion esterna ''g_strtod( )'' della libreria ''glib-2.0'' converte un numero di tipo stringa in un valore in virgola mobile di tipo simile al ''double'' del C, che in Gambas corrisponde al tipo "''Float''". | ||
− | Per utilizzare in Gambas tale funzione esterna, è necessario richiamare la libreria | + | Per utilizzare in Gambas tale funzione esterna, è necessario richiamare la libreria condivisa: "''libglib-2.0.so.0.6400.6'' ". |
Mostriamo un semplice esempio: | Mostriamo un semplice esempio: | ||
− | Library "libglib-2.0" | + | Library "libglib-2.0:0.6400.6" |
<FONT Color=gray>' ''gdouble g_strtod (const gchar *nptr, gchar **endptr)'' | <FONT Color=gray>' ''gdouble g_strtod (const gchar *nptr, gchar **endptr)'' | ||
Riga 16: | Riga 16: | ||
Dim s As String | Dim s As String | ||
Dim f As Float | Dim f As Float | ||
− | |||
− | |||
− | + | s = "1234,56" | |
− | + | ||
− | + | f = g_strtod(s, 0) | |
− | + | ||
− | + | f = f + 1.23 | |
+ | |||
+ | Print f | ||
'''End''' | '''End''' | ||
Riga 30: | Riga 30: | ||
===Conversione di una stringa di caratteri numerali in un valore numerico di tipo ''Integer''=== | ===Conversione di una stringa di caratteri numerali in un valore numerico di tipo ''Integer''=== | ||
Se abbiamo un numero di tipo stringa che deve essere convertito in un valore numerico di tipo ''Integer'', allora dovremo convertire il risultato della funzione ''g_strtod( )'' in un Intero mediante la funzione ''CInt( )'': | Se abbiamo un numero di tipo stringa che deve essere convertito in un valore numerico di tipo ''Integer'', allora dovremo convertire il risultato della funzione ''g_strtod( )'' in un Intero mediante la funzione ''CInt( )'': | ||
− | Library "libglib-2.0" | + | Library "libglib-2.0:0.6400.6" |
<FONT Color=gray>' ''gdouble g_strtod (const gchar *nptr, gchar **endptr)'' | <FONT Color=gray>' ''gdouble g_strtod (const gchar *nptr, gchar **endptr)'' | ||
Riga 42: | Riga 42: | ||
Dim f As Float | Dim f As Float | ||
Dim i As Integer | Dim i As Integer | ||
− | |||
− | |||
− | + | s = "1234" | |
− | + | ||
− | + | f = g_strtod(s, 0) | |
+ | |||
+ | i = CInt(f) | ||
+ | |||
+ | Print i | ||
− | |||
− | |||
'''End''' | '''End''' | ||
− | |||
Versione delle 16:42, 9 dic 2021
La funzion esterna g_strtod( ) della libreria glib-2.0 converte un numero di tipo stringa in un valore in virgola mobile di tipo simile al double del C, che in Gambas corrisponde al tipo "Float".
Per utilizzare in Gambas tale funzione esterna, è necessario richiamare la libreria condivisa: "libglib-2.0.so.0.6400.6 ".
Mostriamo un semplice esempio:
Library "libglib-2.0:0.6400.6" ' gdouble g_strtod (const gchar *nptr, gchar **endptr) ' Converts a string to a gdouble value. Private Extern g_strtod(nptr As String, endptr As Pointer) As Float Public Sub Main() Dim s As String Dim f As Float s = "1234,56" f = g_strtod(s, 0) f = f + 1.23 Print f End
Conversione di una stringa di caratteri numerali in un valore numerico di tipo Integer
Se abbiamo un numero di tipo stringa che deve essere convertito in un valore numerico di tipo Integer, allora dovremo convertire il risultato della funzione g_strtod( ) in un Intero mediante la funzione CInt( ):
Library "libglib-2.0:0.6400.6" ' gdouble g_strtod (const gchar *nptr, gchar **endptr) ' Converts a string to a gdouble value. Private Extern g_strtod(nptr As String, endptr As Pointer) As Float Public Sub Main() Dim s As String Dim f As Float Dim i As Integer s = "1234" f = g_strtod(s, 0) i = CInt(f) Print i End