浮点数不能做精确计算,不能保证得到这个结果。只有把浮点数先精确的转换为一个可以做精确计算的数,例如有理数,然后再计算,再转换回浮点数。但是,仍然不能保证转换回浮点数的时候没有损失。也就是说,如果将浮点数1.0转换为可以精确计算的有理数,然后除以3,这时候有理数可以精确保存1/3这个结果,但是如果将1/3这个结果转换回浮点数,那么必然造成精度损失(除非是3进位浮点数),这时候数据就丢失了,再乘以3不能保证复原为1。只有1/3这个有理数进行乘以3计算可以精确的得到有理数1,再转换为浮点数1,此时不会丢失数据。