Differenze tra le versioni di "Atof()"

Da Gambas-it.org - Wikipedia.
 
Riga 15: Riga 15:
 
   
 
   
 
   
 
   
  '''Public''' Sub Form_Open()
+
  Public Sub Form_Open()
 
    
 
    
 
   Dim s As String = "12345,6789"
 
   Dim s As String = "12345,6789"
 
   Dim f As Float
 
   Dim f As Float
 
    
 
    
  f = <FONT color=#B22222>atof</font>(s) * 10
+
  f = <FONT color=#B22222>atof</font>(s) * 10
 
    
 
    
  Print f
+
  Print f
 
    
 
    
  '''End'''
+
  End
 
 
  
  

Versione attuale delle 19:52, 12 giu 2024

La funzione esterna atof(), dichiarata nel file header "/usr/include/stdlib.h" come segue:

double atof (const char *__nptr)

converte una rappresentazione numerica in virgola mobile da tipo Stringa a tipo double (che corrisponde al tipo Float di Gambas). La rappresentazione numerica di tipo Stringa da convertire deve riportare la "virgola", come simbolo "locale" divisore della parte intera dalla parte decimale.

Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:

Private Extern atof(__nptr As String) As Float In "libc:6"


Mostriamo un sempplice esempio pratico:

Library "libc:6"

' double atof (const char *__nptr)
' Convert a string to a floating-point number.
Private Extern atof(__nptr As String) As Float


Public Sub Form_Open()
 
 Dim s As String = "12345,6789"
 Dim f As Float
 
 f = atof(s) * 10
  
 Print f
  
End


Riferimenti