Pregunta: | 6598 - ADMINISTRACION PUNTO DECIMAL EN IMPORTES |
Autor: | Luis Guerrero |
Tenemos el siguiente problema:
La configuración regional tiene indicado , (coma) para indicar el punto decimal. Cómo podemos realizar desde VB la modificación de , (coma) a . (punto) en la configuración para trabajar en nuestros forms? Y luego restablecer la configuración al estado original? Idem para Fecha y hora. |
Respuesta: | Esteban Gabriel Arias |
Lo ideal seria que la funcion que usen sea independiente de la configuracion regional.
Ej: Si quisieran pasar de un String a un Numero (Esto quizas les sirva para resolver los puntos y las comas) Function POT10(Exp As Byte) As Long Dim X As Byte Dim Aux as Long Aux = 1 For X = 1 To Exp Aux = Aux * 10 Next x End Function Function Str2Num(ByVal Valor As String , ByRef Exito as Integer) As Variant Dim Dec as Integer Dim Decimal as Long Dim Entera As Long Dim Aux As Integer Dim Numero_Decimal As Double On Error Goto Errores Exito = True Dec = 0 Dec = Instr(1,strReverse(Valor),".") If Dec = 0 then Dec = Instr(1,strReverse(Valor),",") End If Aux = Len(Valor) - Dec If Dec > 0 then Decimal = CLng(Mid(Valor,Aux + 2)) End if Entera = CLng(Mid(Valor,1,Aux)) Numero_Decimal = Cdbl(Entera) If Dec > 0 then Numero_Decimal = Numero_Decimal + _ (Cdbl(Decimal) * Cdbl( 1# / POT10(Dec - 1)))) Str2Num = Numero_Decimal Else Str2Num = Clng(Numero_Decimal) End If Exit Function Errores: Exito = False End Function Un saludo Esteban Arias |