Reemplazar Comas por Puntos en visual basic

Iniciado por oJosLoCos, 4 Diciembre 2009, 15:35 PM

0 Miembros y 1 Visitante están viendo este tema.

oJosLoCos

No es tan sencillo.... almenos yo no lo veo así.

Los resultados de la formula de la equacion de segundo grado van saliendo , ya que es un proyecto visual. De nada me sirve declarar variable para remplazar 1 vez la coma por el punto , necesito saber como hacerlo siempre , `Para que este marcado en todo el programa.. , ya que sino , como explico en el primer post , el programa hace una operacion , que sale en un nuevo txtbox , i si ese numero va en decimal , lleva una , y la coma no la reconoce como separacion entre entero y decimal , por lo tanto no puede seguir operando correctamente.

>>Visita Nuestra Informacion De GTA IV En * www.cdm.foros.ws *

Hasseds




Private Sub Text1_Change()
  Text1 = Replace(Text1, ",", ".")
End Sub

Private Sub Text2_Change()
Text2 = Replace(Text2, ",", ".")
End Sub





Sergio Desanti

BlackZeroX

#12
No se si funcione bien lo acabo de hace con el Block de Notas...

Corregido: Solo ingresa numeros con coma decimal el codigo te devuelve la suma con las comas decimales pertinentes.

Código (vb) [Seleccionar]


Private Sub Form_Load()
   Dim res  As String
   res = SumaFormatodecimal(3, "3,454.456,45", "3,454.456,45")
   Call ReplacePuntoPorcomaDescimal(res)
   Call MsgBox(res)
End Sub

Public Function SumaFormatodecimal(ParamArray Numeros()) As String
Dim Num             As Variant
Dim Aux             As String

   For Each Num In Numeros
       Aux = Num
       Call ReplaceComaDescimal(Aux)
       SumaFormatodecimal = Val(SumaFormatodecimal) + Val(Aux)
   Next
End Function

Public Sub ReplaceComaDescimal(ByRef ValStr As String)
   ValStr = Replace(ValStr, ",", "")
End Sub

Public Sub ReplacePuntoPorcomaDescimal(ByRef ValStr)
Dim spl()               As String
Dim LenAfter          as integer
   spl = Split(CStr(ValStr), ".")
   LenAfter = IIf(IniArray(spl), Len(spl(1)), 0)
   ValStr = FormatNumber(ValStr, LenAfter, vbTrue, vbTrue, vbTrue)
End Sub

Public Function IniArray(varArray() As String) As Boolean
On Error Resume Next
   If ((Not varArray) = -1) Then
       IniArray = False
   Else
       IniArray = True
   End If
End Function



Dulces Lunas!¡.
The Dark Shadow is my passion.

BlackZeroX

The Dark Shadow is my passion.

oJosLoCos

Muchas gracias , tanto al ejemplo como al aporte , me ha servido , empezare a hacerlo..
Gracias
>>Visita Nuestra Informacion De GTA IV En * www.cdm.foros.ws *