小数在内存中的存储精度是不准确的,举例说明;
1、浮点型
const float pai = 3.14; std::cout << std::setprecision(20) << pai << std::endl;
float型pai在内存中实际存储的值为:
2、双精度
const double PAI = 3.14159265358979323846264338327950288419; std::cout << std::setprecision(20) << PAI << std::endl;
double型精度15~16位,超位后精度缺失:
结语:最好不要使用浮点数,尽量通过转换为整形数来处理。



