Description
The checkTotalDigits logic works by creating a BigInteger that is 10^totalDigits, and then comparing the infoset unscaledValue to that number.
Unfortunately, we then get the intValue of that number, which means if 10^totalDigits is ever greater than an int value, Daffodil will throw an AritchmeticException. This will happen when totalDigits >= 10.
I think this is also broken if the dataValue is negative.