CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
atof-atol
ATOF-ATOL #include <match.h> Использует либо <match.h>, #include <stdlib.h> либо <stdlib.h>. double atof (string); преобразует строку string в double char *string строка, подлежащая преобра- зованию int atoi (string) преобразует строку string в int long atol (string) преобразует строку string в long char *string строка, подлежащая преобра- зованию Описание. Эти функции преобразуют символьную строку в значение с пла- вающей точкой двойной точности (atof), в целое значение (atoi) или в длинное целое значение (atol). Исходная строка string представляет собой последователь- ность символов, которые могут быть интерпретированы как числовое значение определенного типа. Функция прекращает чтение исходной строки как только поя- вится первый символ, который не может быть воспринят как часть числа (им может быть NULL-символ, завершающий строку). Функция atof предполагает, что строка string имеет следую- щую форму: [whitespace][sign][digits][{d|D|E}[sign]digits] , где [whitespase] состоит из пробелов и/или знаков табуляции, которые игнорируются; [sign] означает "+" или "-"; [digits] - - одна или несколько десятичных цифр. Если перед десятичной точ- кой нет цифр, то хотя бы одна цифра должна стоять после нее. Де- сятичные цифры могут следовать за показателем степени, который состоит из буквы (d,D,e или E) и десятичного целого со знаком. Функции atoi и atol не обрабатывают десятичные точки или показатели степени. Аргумент string для этих функций имеет вид: [whitespace][sign]digits , где whitespace, sign, digits обозначают то же, что и для atof. Возвращаемое значение. Каждая из функций возвращает значение типа double, int или long, получаемое в результате интерпретации входных символов как чисел. Возвращаемое значение равно 0 (0L для atol), если вход не может быть преобразован в значение данного типа. Возвращаемое значение не определено в случае переполнения. См. также ecvt, fcvt, gcvt. Пример: Следующие примеры показывают, как числа, записанные в виде строк, могут быть преобразованы в числовые значения при использо- вании функций atof, atoi, atol: #include <math.h> extern long atol (\ ); main (\ ) { char *s; double x; int i; long l; s=" -2309.12E-15"; x=atof(s); printf("%e\t",x); s="7.8912654773d210"; x=atof(s); printf("%e\t",x); s="-9885"; i=atoi(s); printf("%d\t",i); s="98854 dollars"; l=atol(s); printf("%ld\n",l); }
Оставить комментарий
Комментарии
1.
4 июня 2005, 22:40:13
And who to you has told, what the type "String" works " well with lines "? Try char* s1, char * s2, and all will be ок.
2.
7 октября 2004, 00:37:07
У меня почему-то не работает вот это:
.......
int main()
{
string s1;
string s2;
cout<< "enter 1 number"<<endl;
cin >> s1;
cout<< "enter 2 number"<<endl;
cin>> s2;
int i = atoi(s2);//ЗДЕСЬ ОШИБКА! пробовал и s2.c_str
............
return 0;
}
Как же так?
.......
int main()
{
string s1;
string s2;
cout<< "enter 1 number"<<endl;
cin >> s1;
cout<< "enter 2 number"<<endl;
cin>> s2;
int i = atoi(s2);//ЗДЕСЬ ОШИБКА! пробовал и s2.c_str
............
return 0;
}
Как же так?