Noticias

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

decimal float

Iniciado por Donli, Septiembre 23, 2015, 11:42:24 PM

Tema anterior - Siguiente tema
double total = 0;total += 5.6;total += 5.8;print(total);resultado que muestra 11.399999999999Básicamente mi problema es este necesito obtener resultados exactos y no se como.si pudieran ayudarme se los agradecería mucho

Lo he probado a mí me da los 11.4 exactos con tu mismo código.        double total = 0;
        total += 5.6;
        total += 5.8;
        print("total: " + total); 

perdon por querer ponerlo como ejemplo  void OnGUI()
    {GUILayout.BeginArea(new Rect(20, 20, 450, Screen.width / 2));
        GUILayout.Label("numero decimal");
        inser = GUILayout.TextField(inser);
        GUILayout.EndArea();            num = float.Parse(inser);
            ente = Mathf.Floor(num);     //elimino decimales
            deci = num - ente;               //coloco solo decimales            print(deci);              } ///no todos los numeros se modifican un ejemplo de eso seria 5.55// es minimo el cambio pero como debe pasar a binario los decimales afectara 


.... o todavia mas importante ...si tu objetivo es pasar un numero a binario, porque no trabajas directamente con enteros ? si no utilizaras los binarios con decimales para una cosa muy especifica (no se suelen ver mucho), te quitaras ese problema de encima directamente

deci es flotante (todas las variables son float)  la aplicacion debe pasar los numeros a formato binario IEEE(agrega otras cosas al binario incluyendo decimales), con los enteros no hay problema pero los decimales deben convertirse multiplicando por 2 y eso cambia el resultado no??

Las conversiones numéricas, de cara a visualización, no son necesarias.Utiliza toString para eliminar decimales sobre un float, como toString("0") y muchos otros ejemplos en:https://msdn.microsoft.com/en-us/library/0c899ak8(v=vs.110).aspx" rel="external nofollow">https://msdn.microsoft.com/en-us/library/0c899ak8(v=vs.110).aspx

Etiquetas: