- Contain a single optional decimal place always represented with
. - In libraries will be stored in memory as integers, and converted to floats for atomic maths operations if needed.
- Have tailing
0s to determine the significant digits, e.g.1.000implies we’re dealing with an integer value of1000, and thus an accuracy of three decimal places. - When performing arithmetic will always convert the incoming amount’s value to have the same exponential as the base.
- Does not include support for exponential values in output, like
2.0e10, as amounts are typically used for consumption by humans and not complex mathematical calculations with large numbers.
- Require a
%symbol at the end of the serialised value, for example10.0% - Will always be converted with a factor of 100, so
16.0%implies an underlying value of0.160or160as an integer, in order to make calculations.