The constructor accepts either a number or a string that looks like a number.
But if you want to enforce a specific precision, you either need to pass an
exact string or include the second term. In other words, all of the following
variables have different precisions:
`
`

`
$var1 = Math::FixedPrecision->new(10);
# 10 to infinite decimals
$var2 = Math::FixedPrecision->new(10,2);
# 10.00 to 2 decimals
$var3 = Math::FixedPrecision->new("10.000");
# 10.000 to 3 decimals
`

All calculations will return a value rounded to the level of precision of
the least precise datum. A number which looks like an integer (like `$var1`
above) has infinite precision (no decimal places). This is important to note
since Perl will happily truncate all trailing zeros from a number like 10.000
and the code will get 10 no matter how many zeros you typed. If you need to
assert a specific precision, you need to either explicitly state that like
`$var2` above, or quote the number like `$var3`. For example:

`
`

`
$var4 = $var3 * 2; # 20.000 to 3 decimals
$var5 = Math::FixedPrecision->new("2.00");
# 2.00 to 2 decimals
$var6 = $var3 * $var 5;
# 20.00 to 2 decimals, not 3
`