Estoy trabajando en una aplicación de finanzas donde un pequeño punto decimal importa mucho. Mientras trabajaba en ello, descubrí que js cambia el valor real cuando se transforma en hexadecimal y decimal de un lado a otro.
Por ejemplo:
a = (parseFloat(49098.40463663199) * 10 **18).toString(16)me da
a65a13dc28529800000Agregar 0x al principio y dividir por el número por el que se multiplicó cambia el número ligeramente como:
0xa65a13dc28529800000 / 10 ** 18me da
49098.40463663198 Observe que el valor disminuyó en 0.00000000001 ?
Quiero evitar esto. ¿Cómo puedo?