como mostrar decimales de la suma de 8 bits en php

Respuestas

Respuesta dada por: fedejoamolina03
0

Respuesta:Porque la aritmética de coma flotante! = Aritmética de números reales. Una ilustración de la diferencia debida a la imprecisión es, para algunos flotadores a y b, (a+b)-b != a. Esto se aplica a cualquier idioma usando flotadores.

Dado que punto flotante son números binarios con precisión finita, hay una cantidad finita de números representables , lo que conduce problemas de precisión y sorpresas como esta. Aquí hay otra lectura interesante: Lo que todo científico informático debe saber sobre la aritmética de punto flotante .

Volviendo a su problema, básicamente no hay manera de representar con precisión 34.99 o 0.01 en binario (como en decimal, 1/3 = 0.3333 ...), por lo que se usan aproximaciones. Para solucionar el problema, puede:

Use round($result, 2) en el resultado para redondearlo a 2 decimales.

Utilice números enteros. Si esa es la moneda, digamos dólares estadounidenses, luego almacene $ 35.00 como 3500 y $ 34.99 como 3499, luego divida el resultado por 100.

Es una pena que PHP no tenga un tipo de datos decimal como otrosidiomas do.

117

Explicación:

Preguntas similares