Después de pasar horas tratando de descubrir un error en mi hoja de cálculo de contabilidad personal, pude fijarlo en una fórmula.
Si bien esto resulta en cero
=((0,6-0,3-0,4)+(-0,3+0,8-0,4))
compararlo con Zero me da falso
=((0,6-0,3-0,4)+(-0,3+0,8-0,4))=0
¿Qué diablos me estoy perdiendo?
google-sheets
bruno
fuente
fuente
0 != 0
.Respuestas:
Gracias a las maravillas de la aritmética de punto flotante ,
evalúa aproximadamente -5.55e-17 en doble precisión. Esto es válido tanto en JavaScript como en las hojas de cálculo de Google. Realmente no importa si el cálculo es del lado del cliente o del lado del servidor: lo que importa es el formato de número utilizado. Parece que las Hojas de cálculo de Google usan doble precisión .
La solución es la misma: evitar la comparación de igualdad para números de coma flotante. En su caso, cambiar las unidades multiplicando todo por 10 evitaría el problema.
fuente
=FLOOR(B3+C2, 0.01)
trabajar con divisas