У меня есть текстовый файл с числами в научной нотации, хранящимися в виде строки символов, некоторые из которых содержат до 20
цифр. Например, 2.3456789e-015
. Мне нужно преобразовать это в длинное двойное значение, чтобы выполнить над ним некоторые математические операции.
Как я могу это сделать?
long double number = 2.3456789e-015;
Я знаю, что могу объявить long double вот так, но проблема возникает, когда у меня есть число в виде строки, и мне нужно указать основание, а также показатель степени отдельно. Функция pow()
работает только с двойниками, а cpowl()
нельзя отформатировать в printf
. Важно, чтобы я сохранял точность!!
strtold
кажется неплохим кандидатом на эту должность. - person WhozCraig   schedule 12.02.2015