Databases like SQL server allow to store up to 38 digits.
This amount is insufficient for some use cases like cryptocurrency digit storage. Being ETH an example. ETH has its value declared as uint256. This represents up to 78 digits.
The only solution I have seen to avoid rounding up and losing accuracy is storing the quantities of the cryptocurrency/tokens as a string.
This is quite unpractical since you cannot then to operations in SQL like SUM().
There have to be other workarounds out there.
Similar questions asked Storing ETH precision Crypto Currency decmials