【问题标题】:Converting a string to double value in C在C中将字符串转换为双精度值
【发布时间】:2016-07-15 14:48:35
【问题描述】:

我想知道在用C编写代码时解析字符串并将数字字符串内容转换为double值是否会带来任何准确性问题?

如果有,它们是什么样的?

同样,将双精度值转换为字符串有什么问题吗?

如果有问题,最好的解决方案是什么?

谢谢。

【问题讨论】:

标签: string


【解决方案1】:

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

sprintf 同样会产生准确的结果,只要您加载数据的缓冲区足够大 (sprintf)。

【讨论】:

    【解决方案2】:

    同时考虑使用strtod,它似乎对错误输入有更好的定义,尤其是在 C11 中。

    【讨论】:

      猜你喜欢
      • 2013-10-10
      • 2015-04-10
      • 1970-01-01
      • 2012-07-09
      • 2022-01-20
      • 1970-01-01
      • 2014-01-01
      相关资源
      最近更新 更多