Описание тега strtod

NoneStrtod - это функция стандартной библиотеки C для преобразования строки ASCII в число с плавающей запятой.
1 ответ

C - strtod, кажется, добавляет цифры

У меня проблема с моим strtod() кажется, добавить несколько цифр. я читаю 2\t5241021356985.0302\t9.09\t825.45 из файла и после пропуска целого числа 2 Я получаю следующий вывод output: 5241021356985.030273 9 .090000 Вот мой код char *input_string = …
09 мар '16 в 20:11
2 ответа

Странное поведение при преобразовании строк C в / из двойников

У меня возникли проблемы с пониманием правил Си для определения точности, которую следует учитывать при печати с удвоением или при преобразовании строк в удвоение. Следующая программа должна проиллюстрировать мою точку зрения: #include <errno.h&g…
09 янв '12 в 20:14
0 ответов

Как обработать значение сбоя в strtod?

У меня есть немного кода, состоящего из уравнения, которое должно вычесть определенное значение в многомерном массиве строк из двойной переменной и немедленно записать его обратно в двойную переменную. Это для uni-проекта, и я попытался найти здесь …
05 дек '18 в 10:25
0 ответов

GNU C: сбой atof(), strtof() и strtod() (Debian для BeagleBoard)

У меня есть некоторый код C, который преобразует строку ASCII в удвоение с помощью strtod(...). Программа скомпилирована для x86 (отладка), ARM и PowerPC (встроенные целевые системы). Плата ARM на самом деле представляет собой BeagleBoard xM, на кот…
10 сен '14 в 03:40
2 ответа

Зачем прогуливаться радикс, а strtod нет?

Недавно я работал с входом cin и обнаружил, что strtol нужен основание: long int strtol (const char* str, char** endptr, int base);, но это не так: double strtod (const char* str, char** endptr);, Очевидно, что двойные числа могут быть представлены …
12 окт '15 в 15:39
2 ответа

Возвращаемое значение strtod(), если строка равна нулю

Согласно MSDN: strtod возвращает 0, если преобразование не может быть выполнено или происходит недостаточное заполнение. Что если моя строка равна нулю (т. Е. 0,0000)? Как я могу узнать, нет ли ошибки при конвертации? ОК, я использую следующий код д…
15 янв '15 в 21:58
2 ответа

Предупреждение: "присваивание отбрасывает квалификатор const из целевого типа указателя"

Я сделал свой собственный strtod() функция. Я могу printf в консоли, но выдает следующее предупреждение: myStrTod.c | 29 | предупреждение: "присваивание отбрасывает спецификатор const из целевого типа указателя"| #include<stdio.h> float myStrT…
02 дек '16 в 17:15
6 ответов

Почему в stdlib.h нет strtoi?

Я привык к strtod и варианты. Мне интересно, почему нет strtoi, поставляемого с stdlib.h. Почему целое число не входит в эту группу? В частности, я спрашиваю, почему нет версии Atoi с функциями безопасности strtod.
30 май '11 в 22:58
2 ответа

Как преобразовать очень длинную строку в удвоенную в C

Я хочу преобразовать очень длинную строку чисел в двойное переносимым способом в C. В моем случае, переносимый означает, что он будет работать в Linux и Windows. Моя конечная цель состоит в том, чтобы иметь возможность упаковать строку чисел в 8-бай…
22 авг '15 в 18:51
0 ответов

Что такое накладные расходы от разбора строк до чисел

Я исследую форматы хранения данных для числовых данных. Я рассматриваю различия между по существу разделенными значениями форматами и двоичными форматами, такими как HDF5. В первом случае текстовое представление значения необходимо проанализировать …
06 фев '18 в 10:52
1 ответ

Конвертировать char * в double без потери точности в c

Мне нужна помощь. Я должен конвертировать и хранить символ * в двойной или длинный двойной без потери точности. Действительно, я пытался использовать методы strtold и atof (также strtold), но эти методы округляют значение. Например: char * key ="39.…
19 фев '16 в 16:56
2 ответа

Преобразование строки в двойное и обратно в строку

У меня проблемы с преобразованием строки в двойную, и я не совсем уверен, что не так. Моя функция добавления: int add(const char *a,const char *b,char* str,int length) { printf("\n*you are in add function %s,%s*\n",a,b); //double aa = strtod(a,NULL)…
25 апр '14 в 20:02
9 ответов

Как преобразовать строку в число с плавающей точкой?

#include<stdio.h> #include<string.h> int main() { char s[100] ="4.0800" ; printf("float value : %4.8f\n" ,(float) atoll(s)); return 0; } Я ожидаю, что результат должен быть 4.08000000 тогда как я получил только 4.00000000, Есть ли способ…
31 окт '11 в 07:42
5 ответов

strtod с ограниченной длиной строки

Если я хочу проанализировать первые 3 символа из массива char как двойные, игнорируя следующие символы, нужно ли мне это делать? int main () { const char a [] = "1.23"; char * b = malloc (sizeof (char) * 4); memcpy (b, a, sizeof (char) * 3); b [3] =…
07 май '13 в 06:46
1 ответ

Есть ли Python, эквивалентный параметру endptr для strtod C?

Я пытаюсь написать функцию, которая разбивает строку, содержащую число с плавающей точкой и некоторые единицы. Строка может содержать или не содержать пробелы между числом и единицами. В С функция strtod имеет очень удобный параметр, названный endpt…
21 май '18 в 19:15
2 ответа

Проверка ввода для типов данных Integer и Double

Поскольку при написании этого вопроса в коде произошла ошибка, это не очень хороший вопрос. Я удалил и заменил его ссылкой на правильное решение. Правильное решение для проверки ввода
09 окт '11 в 02:26
3 ответа

strtod underflow, возвращаемое значение!= 0

Вот мой тестовый код: errno = 0; d = strtod("1.8011670033376514e-308", NULL); С этим кодом я получаю d == 1.8011670033376514e-308 а также errno == ERANGE, Из strtod(3): Если правильное значение приведет к переполнению, плюс или минус HUGE_VAL (HUGE_…
26 авг '14 в 05:54
2 ответа

Неожиданный endptr с strtod()/strtold()

Я бы ожидал endptr указать на то же значение с обоими strtod() а также strtold(), Все же они отличаются. Я подозреваю strtold() это неверно. OTOH, это может быть случай, когда спецификация не ясна, и любой результат является приемлемым. Это ошибка (…
13 мар '15 в 19:26
1 ответ

strtod изменить последнюю цифру

Кто -то может объяснить мне, что происходит? double dbl = stdtod("9999999999999999", NULL); Я получил значение: 9999999999999998 и не: 9999999999999999 Я не понимаю, почему это происходит, в MSDN указано, что максимальное двойное число 1.79769313486…
13 апр '11 в 18:54
3 ответа

Извлечение строки и преобразование в двойной

Я пытаюсь создать функцию, которая может определить, можно ли идеально преобразовать входные данные в двойные, а затем сохранить их в массиве двойных чисел. Например, ввод "12.3a" недопустим. Из того, что я знаю, strtod все еще может конвертировать …
08 апр '16 в 10:53