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.
Versione del 23 ago 2016 alle 02:54 di Vuott (Discussione | contributi) (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...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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 dinamica condivisa: "libglib-2.0.so"


Mostriamo un semplice esempio:

Library "libglib-2.0"

' 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"

' 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



Riferimenti