Puntos y Comas (configuracion Regional)

Leonardo
11 de Junio del 2006
Necesito ayuda urgente mañana tengo que entregar el programita y me surgió una complicación por la configuración Regional de Windows, el tema que yo puse como valores de referencia dentro de textbox a números con separador decimal al punto (“.”), y si esta configurado de otra manera me salta errores.

Los que necesito es que indistintamente el programa me tome los valores del los texbox, teniendo punto(“.“) o coma (“,”) como separador decimal.



Lo mas próximo que tengo es esto; trate de amoldarlo a lo mío pero me salto u error y hasta ahí llegue. se los paso:

Private Function ReemplazarF(X) As String
Dim NX
Dim NF
NF = F
NX = Format(X, "0.#")
NX = Mid(NX, 1, InStr(1, NX, ",") - 1) & "." & Mid(NX, InStr(1, NX, ",") + 1, Len(Mid(NX, 1, InStr(1, NX, ","))))
While InStr(1, NF, "X") > 0
NF = Mid(NF, 1, InStr(1, NF, "X") - 1) & NX & Mid(NF, InStr(1, NF, "X") + 1, Len(NF))
Wend
ReemplazarF = NF
End Function


En esta función, es importante tener en cuenta algo.
Se han agregado dos variables internas de la función.
Una es "NF" que representa la función modificada al reemplazar el valor de X.
La otra es "NX" que representa el valor de X formateado con el punto (".") como separador decimal, de forma tal que si tenemos Windows configurado para que la coma (",") sea nuestro separador decimal, no existan errores, puesto sea cual fuere la configuración de Windows, internamente en MS Excel (así como en Visual Basic) el punto (".") es el separador de decimales



Bueno Gracias y espero que me salven!! Help mee!!

acemel
11 de Junio del 2006
puedes probrar como posible solucion apoyarte en un String y cambiar el punto por la coma con un simple IF
if numero= " *.* " then
numero = " *,* "
punto=1
else
punto=0
end if
'aqui haces las operaciones
'y finalmente
if punto=1 then
if resultado = " *,* " then resultado = " *.* "
end if
el problema esq te presenta la informacion con una coma, puesto que ya está cambiado, la calculadora de windows tb hace así
y si quieres presentar el resultado con un punto, tendrias q apoyarte en una variable
esa es la solucion que se me ocurre a mi, espero q por lo menos pueda ayudarte o inspirarte a solucionar tu problema