decimal 模块,提供了对小数精确的计算,内置的 float 类型是以二进制的浮点数保存的,是不准确的,小数点后会有很多奇怪的数字,虽然在一般情况下计算是没问题的,因为近似相等,小数点后十几位才会出现问题。但是 decimal 模块解决了这个问题,它可以提供精确的教科书般的结果。此外,模块还提供了几个特殊数:NaN,sNaN,-Infinity,Infinity,这些结果会在异常发生但不抛出时