Strfmon ()

Da Gambas-it.org - Wikipedia.

La funzione della libreria di C

ssize_t strfmon (char *__restrict __s, size_t __maxsize, const char *__restrict __format, ...)

formatta un valore monetario secondo il sistema locale corrente.

La formattazione avviene mediante speciali carrateri di conversione che possono essere consultati nelle pagine WEB segnalate in fondo nel paragrafo Riferimenti.

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

Private Extern strfmon(__s As Pointer, __maxsize As Long, __format As String, v1 As ..., etc...) As Long In "libc:6"


Semplice esempio di uso in Gambas:

Library "libc:6"

' ssize_t strfmon (char *__restrict __s, size_t __maxsize, const char *__restrict __format, ...)
' Formatting a monetary value according to the current locale.
Private Extern strfmon(__s As Pointer, __maxsize As Long, __format As String, v1 As Float, v2 As Float) As Long


Public Sub Main()
 
 Dim buf As Pointer
 Dim moneta As Float
 
   moneta = 1234.567
   
   buf = Alloc(SizeOf(gb.Byte), 40)
 
   strfmon(buf, 40, "[%^=*#6n] [%=*#6i]", moneta, moneta)
   
   Print String@(buf)
   
   Free(buf)
   
End



Riferimenti