2016-07-15 3 views
1

Я хочу знать, если синтаксический анализ строки и преобразование содержимого числовой строки в двойное значение при написании кода на C вызовут какие-либо проблемы с точностью?Преобразование строки в двойное значение в C

Если да, то какие они?

Аналогичным образом возникают проблемы с преобразованием двойного значения в строку?

Если есть проблема, то какое оптимальное решение?

Спасибо.

+1

Возможный дубликат раздела [C-преобразование массива символов в double] (http://stackoverflow.com/questions/15583965/c-convert-section-of-char-array-to-double) –

ответ

1

atof не будет создавать проблемы с точностью; однако, если строка представляет двойное значение вне диапазона, это приведет к неопределенным поведением (от this source).

sprintf аналогичным образом даст точные результаты, если буфер, в который вы загружаете данные, достаточно велик (sprintf).

0

Рассмотрите также использование strtod, который, как представляется, имеет более четкое поведение для ошибочного ввода, особенно в C11.

Смежные вопросы