Visual Basic - Decimales

Life is soft - evento anual de software empresarial
 
Vista:

Decimales

Publicado por Gaby (43 intervenciones) el 17/09/2003 23:51:06
Como hago para pasar 1552,83 a 1552.83 sin tener que modificar la configuracion regional... Habra alguna funcion de VB que me lo permita?
Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Decimales

Publicado por Cecilia Colalongo (3117 intervenciones) el 18/09/2003 02:00:39
Puedes tomar el valor del separador decimal de la configuración regional y reemplazarlo en la cadena:

CadenaNueva = Replace(CadenaAnterior,GetLocaleDecimalSep,".")

Public Const LOCALE_SDECIMAL = &HE

Public Declare Function GetUserDefaultLangID Lib "kernel32" () As Integer
Public Declare Function GetUserDefaultLCID Lib "kernel32" () As Long
Public 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

Public Function GetLocaleDecimalSep() As String
Dim strBuffer As String

strBuffer = String(255, " ")

GetLocaleInfo GetUserDefaultLCID, LOCALE_SDECIMAL, strBuffer, 255

GetLocaleDecimalSep = Trim(Replace(strBuffer, Chr(0), ""))

End Function

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Decimales

Publicado por alberto (13 intervenciones) el 18/09/2003 09:51:11
Si 1552,83 es el valor númerico, (en una variable single o double), basta con usar la funcion str en vez de cstr.
Si 1552,83 es una cadena usa: replace(c,",",1) donde c es la cadena que contiene 1552,83
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar