ATOF Función en lenguaje C

ATOF Función en lenguaje C
Las funciones de conversión de un tipo de datos a otro son muy útiles en varios casos. Nos permiten usar las diferentes funciones con diferentes tipos de datos en sus argumentos de entrada y salida para procesarlas.

En general, los datos que el usuario ingresa al sistema a través de una consola de comando, una interfaz gráfica de usuario o un archivo de texto se crean en forma de cadenas que luego necesitamos convertir en enteros, dobles, flotadores, etc. Para procesarlos.

En esto Pista de Linux Artículo, le mostraremos cómo usar el ATOF () función para convertir las cadenas a su valor numérico de punto flotante o tipo doble.

Echaremos un breve vistazo a la teoría de esta función, los argumentos de entrada y salida, y los tipos de datos que acepta. Luego, utilizando ejemplos prácticos con fragmentos e imágenes de código, implementaremos el uso de ATOF () función en varios casos.

Sintaxis de función ATOF () en lenguaje C

doble atof (const char *str);

ATOF () Descripción de la función en el lenguaje C

Para la siguiente expresión, el ATOF () La función convierte la cadena "str" ​​de su argumento de entrada y devuelve su valor numérico del punto flotante en el doble de salida, "a".

a = atof ( * str);

La conversión comienza con el carácter más significativo del valor y termina con el carácter menos significativo del valor, ignora los espacios y termina cuando ocurre un carácter no numérico. En los casos en que la conversión no es posible debido a múltiples casos, como si la cadena que se envía en el argumento de entrada no contiene los caracteres numéricos, ATOF () Devuelve 0 como resultado en "A".

Estas funciones de conversión se encuentran entre las que se incluyen en la biblioteca estándar. Tenemos que incluir el "stdlib.H "encabezado en nuestro".C "o".H ”archivos por la siguiente línea antes de usarlos:

#incluir

Una vez que el "stdlib.El encabezado H ”está incluido, podemos usar ATOF () y las funciones que contiene.

A continuación, veremos algunos ejemplos prácticos en los que implementamos esta función.

Cómo convertir una cadena a valor numérico usando la función ATOF () en el idioma C

En este ejemplo, veremos cómo usar el ATOF () función para convertir una cadena a un valor numérico. Para hacer esto, creamos la cadena "STR" con la cadena que representa la raíz cuadrada de 2 y la variable "A" donde almacenamos el resultado numérico de la conversión.

Para convertir la cadena a su valor numérico, llamamos al ATOF () función y pasar el stri cadena como argumento de entrada.

El siguiente fragmento de código muestra la conversión correcta de una cadena a un valor numérico. El valor convertido se almacena en el doble "A":

#incluir
#incluir
vacío principal ()

char str [20] = "1.4142 ";
doble a;
a = atof (str);

De esta manera, con el ATOF () función, tenemos el valor ingresado como una cadena en formato de punto flotante en un tipo doble para poder procesarlo con las diversas funciones matemáticas que tenemos en el idioma C.

Una vez que tenemos nuestro código listo, lo compilamos y lo ejecutamos en la consola de Linux con la siguiente línea de comando:

~ $ GCC Documents/ATOF_EX1.c -o ATOF_1
~ $ ./ATOF_1

La siguiente imagen muestra la compilación de este código:

La función ATOF () con caracteres no numéricos en su cadena de entrada

La función ATOF () solo acepta los caracteres numéricos y un punto decimal para la conversión. En los casos en que ninguno de estos caracteres está presente en su cadena de entrada o solo se encuentra un punto decimal sin caracteres numéricos, ATOF () Devuelve 0, como se muestra en el siguiente ejemplo:

#incluir
#incluir
vacío principal ()

char str [20] = "hola mundo";
doble a;
a = atof (str);
printf ("a = %f", a);

La siguiente figura muestra los resultados para una cadena de entrada que contiene los caracteres alfabéticos o no numéricos:

Espacio en blanco dentro de la cadena de entrada de la función ATOF () en el lenguaje C

Cuando se llama a esta función, ATOF () ignora los espacios que encuentra antes del primer carácter numérico de la cadena. Cuando encuentra un carácter numérico, comienza a convertirse del personaje más significativo al personaje menos significativo. La conversión se detiene y la función regresa cuando encuentra un carácter no numérico, ya sea una letra o un espacio en blanco.

#incluir
#incluir
vacío principal ()

char str [20] = "12345";
doble a;
a = atof (str);
printf ("a = %f", a);

La siguiente imagen muestra cómo Whitespace es ignorado por ATOF ()::

Conclusión

En esto Pista de Linux Artículo, mostramos cómo usar el ATOF () función que es una de las funciones de la biblioteca estándar del idioma C para convertir las variables de un tipo de datos a otro. Revisamos la parte teórica de esta función y los tipos de datos aceptados en sus entradas y salidas. También le mostramos, con ejemplos de trabajo, sobre cómo implementar esta función y su comportamiento con diferentes caracteres en su cadena de entrada. Esperamos que este artículo te sea útil. Para obtener más artículos y consejos como este, use el motor de búsqueda en nuestro Pista de Linux sitio web.