深入C++浮点数无效值定义与判定的解决办法

时间:2022-03-13 06:58:26

在实际计算中可能会出现浮点型的无效数据,格式化输出到文件中内容为1.79769e+308,输出到界面就是很大一串数据。这两种方式无论哪种在阅读和查找时就不是很方便。
无效值定义如下:#define InvalidDouble *(double*)("\xff\xff\xff\xff\xff\xff\xef\x7f")
double  price;
.........(计算步骤省掉)
price=GetPrice(); //获取数据

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