On Monday, 11 March 2019 at 15:23:34 UTC, BoQsc wrote:
There is Money datatype that can be provided by using a third
party package: https://code.dlang.org/packages/money
But that's only for money, what about math?
Why such fundamental as BigDecimal is still not included into
the D language itself?
There is BigInt.
If it is unavoidable to use Floating point, how can I quickly
and simply understand the rules of using float to make the
least error, or should I just find a third party package for
that as well?
There is an article on that, but it is not that straight
forward:
https://dlang.org/articles/d-floating-point.html
Basically any thing that I find on Google, that include
explaining floating point are badly written and hard to
understand for the outsider lacking ability to understand
advanced concepts.
How much precision is enough in your use case? There's always a
limit to how precise you need to be and how precise you can be,
be it only because our memory is finite.
I've never had a use case for BigDecimal myself, so forgive my
ignorance, but wouldn't you get the exact same result by using
BigInt?
For example, if you need 20 decimals of precisions then any value
times 10^20 will be a BigInt on which you can work, it's just a
matter of displaying it correctly when outputing the result but
it doesn't change the operations you have to perform.
Is there anything that can't be done with BigInt really?