我正在尝试将仅包含浮点值的 char * 转换为 float 类型,但 sscanf_s 和 atof 都产生相同的无效结果。
char t[] = "2.10";
float aFloat( 0.0f ), bFloat( 0.0f );
sscanf_s( t, "%f", &aFloat );
bFloat = atof( t );
输出:
aFloat: 2.09999990
bFloat: 2.09999990
当我查看类似的问题以试图确定答案时,我尝试了他们的解决方案,但无济于事。
这里给出的解决方案是包含“stdlib.h”,在这样做之后,我将对 atof 的调用更改为显式调用“std::atof”,但仍然没有运气。