c语言中int到float的缺失问题解决

来源:互联网 发布:私募股权基金待遇 知乎 编辑:程序博客网 时间:2024/04/30 13:25

今天执行一段代码出错,发现是这么一句有问题

this->fDate[iDataCount] = (float)atoi(ppRecord[0]);

其中ppRecord[0]=“20171101”

执行后this->fDate[iDataCount]的值为20171100.0。

但是同时这一句:

this->fTime[iDataCount] = (float)atoi(ppRecord[1]);

其中ppRecord[1]=“931”

没有问题。着实诡异。


查资料显示,有可能是int到float过程中会造成精度缺失,数字越大,缺失越多。

于是将fDate类型改为double,问题解决。

阅读全文
0 0
原创粉丝点击