我想知道在C中编写代码时解析字符串并将数字字符串内容转换为double值会产生任何准确性问题吗?
如果是这样,他们是什么样的?
同样,将double值转换为string也有问题吗?
如果出现问题,最佳解决方案是什么?
感谢。
答案 0 :(得分:1)
atof
不会造成准确性问题;但是,如果字符串表示超出范围的双精度值,则会导致未定义的行为(来自this source)。
sprintf
同样会产生准确的结果。
答案 1 :(得分:0)
还要考虑使用strtod
,它似乎对错误输入有更明确的行为,特别是在C11中。