
17/06/2008, 09:24
|
Colaborador | | Fecha de Ingreso: enero-2008 Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 17 años, 3 meses Puntos: 37 | |
Respuesta: Configuracion numerica Cita:
Iniciado por etxebe Hola a todos:
Alguien sabria decirme como puedo saber (mediante codigo) la configuracion numerica de un ordenador?? Concretamente necesito saber dos cosas:
- Caracter utilizado para separador de miles
- Caracter utilizado para separador de decimales
Mi problema es que uso la funcion FormatNumber, y segun la configuracion regional de cada ordenador, un mismo numero se puede interpretar de distinta manera...
Gracias de antemano,
Agur.
Hola, etxebe
con un par de API's:
Código:
Option Explicit
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Private Declare Function GetUserDefaultLCID Lib "kernel32" () As Long
Private Const LOCALE_SMONDECIMALSEP As Long = &H16 'decimal separator
Private Const LOCALE_SMONTHOUSANDSEP As Long = &H17 'thousand separator
Private Sub Command1_Click()
Dim SepDecimal As String, SepMiles As String
Dim lRet As Long
lRet = GetUserDefaultLCID()
SepDecimal = GetInfo(lRet, LOCALE_SMONDECIMALSEP)
SepMiles = GetInfo(lRet, LOCALE_SMONTHOUSANDSEP)
End Sub
Private Function GetInfo(ByVal lLocal As Long, ByVal lTipo As Long) As String
Dim s As String
Dim lRet As Long
lRet = GetLocaleInfo(lLocal, lTipo, s, Len(s))
If lRet > 0 Then
s = Space$(lRet)
lRet = GetLocaleInfo(lLocal, lTipo, s, Len(s))
GetInfo = Left$(s, lRet - 1)
End If
End Function
Agur |