Hola,
Estoy haciendo un RGB to RGBA coverter, la diferencia entre ellos es que en RGB los valores van del 0 al 255 y en RGBA van del 0.0 al 1.0.
Entonces hago RGB_R / 255 = RGBA_R:
Dim RGB_R As String
Dim value As String
RGB_R = Text1.Text
value = RGB_R / 255
MsgBox value
Pero se come los 0 ... por ejemplo si hago 1 / 255 en la calculadora me da: 0,003921568627450980392156862745098 pero si lo hago con mi soft me da 3,92156862745098E-03
Incluso si hago:
Dim RGB_R As String
Dim value As String
RGB_R = Text1.Text
value = RGB_R / 255
dim value2 as string
value2 = value / 1000
MsgBox value
Sigue sin mostrar los ceros ...
dim a as double, b as double
dim res as double
a = 1
b = 1000
res = a / b
msgbox res
Integer y long para numeros enteros, double para con coma
Y por cierto, no haces una conversion, estas dividiendo un string, cuidado con eso.
Cdbl("123") creo
A no, creo que te habre ayudado pero sigue dando como dices, pero fijate que dice E -03 que es elevado a la -03 que seria "correr" la coma 3 veces a la izquierda. No sabia que se mostraba asi, pero si luego sigues haciendo operaciones no te preocupes, porque si despues por ejemplo lo multiplicas por 100 se va el exponente
HOLA!!!
Cita de: extreme69 en 31 Octubre 2011, 23:17 PM
Por ejemplo si hago 1 / 255 en la calculadora me da: 0,003921568627450980392156862745098 pero si lo hago con mi soft me da 3,92156862745098E-03
Te respondiste solo, los dos numeros:
0,003921568627450980392156862745098
3,92156862745098E-03
SON IGUALES
E-03 significa *10^-3 que es 0,001 entonces
3,92156862745098 * 0,001 es = a 0,00392156862745098
Que es muy cercano a tu numero.
Si haces operaciones con ese numero con E no vas a tener problemas ;)
GRACIAS POR LEER!!!
para ver esos ceros, que como te dice 79137913 no desaparecen, puedes usar la función format (http://msdn.microsoft.com/es-es/library/59bz1f0h%28v=VS.80%29.aspx)
MsgBox Format(value, "General Number")
Si, sé que son iguales, pero yo necesitaba los ceros.
Gracias burbu_1, me funcionó perfecto!
Hay alguna manera fácil de cambiar el símbolo de los decimales? me refiero a la coma, hay forma fácil de cambiar la coma por un punto o tengo que hacer una función que reemplace el char?
EDIT:
Function reemplazarTexto(textoCompleto As String, textoBuscar As String, textoReemplazar As String) As String
Dim resultado As String
resultado = Replace(textoCompleto, textoBuscar, textoReemplazar, , , vbTextCompare)
reemplazarTexto = resultado
End Function
Quedó funcionando, gracias! :)
.
FormatNumber()
Dulces Lunas!¡.
Gracias Black!