https://medium.com/@Marioskif/javascript-daily-tips-74-the-best-way-to-handle-javascripts-floating-point-arithmetic-b7563d2bb127