Conoscere le impostazioni per il separatore dei decimali e per quello delle migliaia

Da Gambas-it.org - Wikipedia.

Per poter conoscere da codice le impostazioni di sistema per il separatore dei decimali e per il separatore delle migliaia, si potranno utilizzare un paio di specifiche funzioni esterne della libreria C: /usr/include/locale.h . [nota 1]

Mostriamo un esempio:

Library "libc:6"

Public Struct Lconv
  decimal_point As Pointer
  thousands_sep As Pointer
End Struct

Private Const LC_NUMERIC As Integer = 1

' char *setlocale (int __category, const char *__locale)
' Set and/or return the current locale.
Private Extern setlocale(category As Integer, locale As String) As Pointer

' struct lconv *localeconv(void)
' Return the numeric/monetary information for the current locale.
Private Extern localeconv() As Lconv


Public Sub Main()

 Dim lc As New Lconv

' Specifica la categoria e l'ambiente dell'impostazione locale per lingua:
 setlocale(LC_NUMERIC, System.Language)
  
' Ritorna un Puntatore alla Struttura che dà informazioni sui simboli numerici secondo l'impostazione locale:
 lc = localeconv()
  
 With lc
   Print "- Impostazioni locali numeriche -\n\nSeparatore decimale:  "; String@(.decimal_point)
   Print "Separatore migliaia:  "; String@(.thousands_sep)
 End With
  
End


Note

[1] Vedi anche: Conoscere le impostazioni del separatore decimale nel sistema


Riferimenti