解析C++浮点数无效值的定义与无效值判定的小结

时间:2022-03-17 03:05:37

在实际计算中可能会出现浮点型的无效数据,格式化输出到文件中内容为1.79769e+308,输出到界面就是很大一串数据。这两种方式无论哪种在阅读和查找时就不是很方便。在开发中遇见浮点型数据无效值得判定。

无效值定义如下:
#define InvalidDouble *(double*)("\xff\xff\xff\xff\xff\xff\xef\x7f")
double  price;
.........(计算步骤省掉)
price=GetPrice(); //获取数据

通过下面方式对浮点型的无效数据进行判定方法
(price==InvalidDouble)?0:price