https://medium.com/@shawnastaff/a-deep-dive-into-precision-choosing-between-float-double-and-decimal-in-c-0c269ed26456