Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Soy yo, o unity me vacila?

Iniciado por leocub58, Julio 17, 2016, 05:43:17 PM

Tema anterior - Siguiente tema
Julio 17, 2016, 05:43:17 PM Ultima modificación: Julio 17, 2016, 05:50:42 PM por leocub58
A ver... Hago un simple debug log que contiene esto (50/100)
 
Esto debería dar 0.5, pero me da 0!!!!
 
Lo gracioso es que luego hago lo mismo con 25/5 y si da bien!!
 
tiene alguna explicación lógica esto? estoy haciendo algo mal? Segun la calculadora de windows 50/100 es 0.5... xD
 
 
 
actualización: Unity no me devuelve los decimales... ¿Por qué? Ni *** idea. He hecho varias divisiones que el resultado es 0.xxxx y solo me devuelve el 0.
 
 
 
Edit: Resuelto, al parecer si divides 50/100 (numeros enteros) te da un resultado en numeros enteros. Así que tienes que ponerle (float)50/100 para que te divida el 50 como decimal y te de números decimales. *** vida, 50 minutos para esto...

asi es, 50 es un numero entero, 50.0f o (float)50 es decimal

en algun comentario en otro post recalque la importancia de ser bien, pero bien claro a la hora declarar variables. aun que unity permite la conversion dinamica de tipos dependiendo del contenido de la variable y generalmente en operaciones aritmeticas estas conversiones entre enteros a flotantes son casi transparentes, siempre es buena practicar especificar claramente los tipos de la variables para evitar sorpresas y este es un claro ejemplo

Etiquetas: