Я новичок в C ++, и наш учитель попросил нас получить функцию, которая выполняет вышеуказанный заголовок.Пока у меня есть функция, которая преобразует строку в целое число, но я понятия не имею, как изменить , чтобы она работала, если числа в строке будут представлять число с плавающей точкой.
int convert(char str[], int size) {
int number = 0;
for (int i = 0; i < size; ++i) {
number += (str[i] - 48)*pow(10, (size - i - 1));
}
return number;
}
Если я бегу:
char myString[] = "12345";
convert(myString, 5);
Я получаю:
12345
Но если я бегу:
char myString[] = "123.45";
convert(myString, 5);
Я получаю:
122845
Как я могу изменить свою программу для работы с плавающими тоже?Я знаю, что функция convert предназначена для возврата типа int, так что мне следует использовать еще две функции?
Я думал о том, что определяет, предназначена ли строка для преобразования в целое число или строку, и о другом, который фактически преобразует строку в число с плавающей точкой.