Donde estan los ceros? o.O

Iniciado por extreme69, 31 Octubre 2011, 23:17 PM

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

extreme69

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 ...

$Edu$

#1
Código (vb) [Seleccionar]
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

$Edu$

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

79137913

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!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

burbu_1

para ver esos ceros, que como te dice 79137913 no desaparecen, puedes usar la función format

MsgBox Format(value, "General Number")



extreme69

Si, sé que son iguales, pero yo necesitaba los ceros.

Gracias burbu_1, me funcionó perfecto!

extreme69

#6
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! :)

BlackZeroX

The Dark Shadow is my passion.

extreme69