在C中将字符串转换为double值

时间:2016-07-15 14:48:35

标签: string

我想知道在C中编写代码时解析字符串并将数字字符串内容转换为double值会产生任何准确性问题吗?

如果是这样,他们是什么样的?

同样,将double值转换为string也有问题吗?

如果出现问题,最佳解决方案是什么?

感谢。

2 个答案:

答案 0 :(得分:1)

atof不会造成准确性问题;但是,如果字符串表示超出范围的双精度值,则会导致未定义的行为(来自this source)。

只要您加载数据的缓冲区足够大(sprintf),

sprintf同样会产生准确的结果。

答案 1 :(得分:0)

还要考虑使用strtod,它似乎对错误输入有更明确的行为,特别是在C11中。