Ich würde digits und so komplett ignorieren. Die Eigenschaften des Typs haben ja überhaupt keine Bedeutung für Wertverluste. Und sind sowieso eher grobe Anhaltspunkte, statt konkreter Merkmale. Die Zahl 100 aus einem Typ mit unbegrenzter Genauigkeit kann problemlos in ein einziges Byte gestopft werden und zurück. Die Zahl 0.1 aus einem Dezimaltyp mit nur einer Nachkommastelle kann hingegen niemals exakt in einen binären Fließkommatyp umgewandelt werden, egal wie exakt der ist.