Differenze tra le versioni di "Strfmon ()"
Da Gambas-it.org - Wikipedia.
Riga 4: | Riga 4: | ||
La formattazione avviene mediante speciali carrateri di conversione che possono essere consultati nelle pagine WEB segnalate in fondo nel paragrafo ''[[#Riferimenti|Riferimenti]]''. | La formattazione avviene mediante speciali carrateri di conversione che possono essere consultati nelle pagine WEB segnalate in fondo nel paragrafo ''[[#Riferimenti|Riferimenti]]''. | ||
+ | |||
Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta: | Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta: | ||
Private <FONT color=#B22222>Extern strfmon</font>(__s As Pointer, __maxsize As Long, __format As String, v1 As ..., etc...) As Long In "<FONT color=#B22222>libc:6</font>" | Private <FONT color=#B22222>Extern strfmon</font>(__s As Pointer, __maxsize As Long, __format As String, v1 As ..., etc...) As Long In "<FONT color=#B22222>libc:6</font>" | ||
− | |||
− | |||
Semplice esempio di uso in Gambas: | Semplice esempio di uso in Gambas: | ||
Library "libc:6" | Library "libc:6" | ||
Riga 17: | Riga 16: | ||
− | + | Public Sub Main() | |
Dim buf As Pointer | Dim buf As Pointer | ||
Dim moneta As Float | Dim moneta As Float | ||
− | + | moneta = 1234.567 | |
− | + | buf = Alloc(SizeOf(gb.Byte), 40) | |
− | + | <FONT color=#B22222>strfmon</font>(buf, 40, "[%^=*#6n] [%=*#6i]", moneta, moneta) | |
− | + | Print String@(buf) | |
− | + | Free(buf) | |
− | + | End | |
− | |||
Versione attuale delle 14:59, 16 giu 2024
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