Especificadores de formato en diferentes lenguajes de programación

Formateo en C

En el lenguaje C , los especificadores de formato se utilizan para la entrada y salida. Es una forma de decirle al compilador qué tipo de datos hay en una variable durante la entrada usando scanf() o imprimiendo usando printf() . A continuación se muestran algunos especificadores de formato en C: 
 

  • %d o %i: Especificador de formato de número entero
  • %c: Especificador de formato de caracteres
  • %f: Especificador de formato de punto flotante.
  • %s: Especificador de formato de string.
  • %lf: Especificador de formato doble.
  • %e o %E: Especificador de formato de punto flotante ( Exponencial ).

En la programación C, usamos scanf() para la entrada con formato y printf() para la salida con formato, gets() o getchar() para la entrada sin formato y puts() o putchar() para la salida sin formato.
A continuación se muestra el programa para ilustrar algunos especificadores de formato en C:

C

// C program to illustrate format
// specifiers in C
#include <stdio.h>
 
// Driver Code
int main()
{
    int N = 10;
    double F = 42.152;
 
    // Integer formatted output
    printf("%d \n", N);
 
    // Exponential formatted output
    printf("%e \n", F);
 
    // Unformatted String Output
    puts("Welcome to GeeksforGeeks!");
}
Producción: 

10 
4.215200e+01 
Welcome to GeeksforGeeks!

 

Formateo en C++

Como C++ es una extensión del lenguaje C, pero aún usamos flujos de entrada y salida para formatear la entrada o la salida. A continuación se muestran algunas entradas/salidas utilizadas en C++: 

  1. Flujo de entrada estándar (cin): en C++, cin es un objeto de istream . Toma la entrada del dispositivo de entrada estándar, es decir, el teclado. cin se usa junto con un operador de extracción ( >> ) para obtener o recibir un flujo de caracteres.
  2. Flujo de salida estándar (cout): en C++, cout es un objeto de ostream . Se utiliza para imprimir la salida en un dispositivo de salida estándar, es decir, Monitor. cout se usa junto con el operador de inserción ( << ). Si usamos «endl» , producirá un carácter de nueva línea como «\n» , pero también tiene un comportamiento adicional, es decir, la salida se escribirá físicamente en un dispositivo si aún no lo estaba. Afecta a los flujos completamente almacenados en búfer, pero cout no está completamente almacenado en búfer, por lo que es una buena práctica usar endl con cout.
  3. Flujo de error estándar sin búfer (cerr): en C++ , cerr es un objeto de ostream. cerr se usa junto con el operador de inserción ( << ). A diferencia de la salida con búfer, la salida sin búfer sigue escribiendo los datos en el disco. En errores críticos donde existe la posibilidad de que el sistema se bloquee, no se prefiere la salida almacenada en búfer. Pero cerr es lento ya que sigue escribiendo datos en el disco.
  4. Flujo de error estándar almacenado en búfer (obstrucción): en C++ , la obstrucción se usa para fines de registro. Es un objeto de ostream. clog se usa junto con el operador de inserción ( << ). En algunos casos, la salida con búfer es más eficiente que la salida sin búfer. En el caso de la salida almacenada en búfer, todos los errores de salida se almacenan en una variable y se escriben en el disco todos a la vez.

A continuación se muestran algunas funciones de flujo de entrada/salida:  

  • setw() o width(): se utiliza para establecer el ancho en un valor dado. La salida se mostrará en el ancho dado.
  • setprecision() o precision(): En valor flotante, si necesitamos establecer una cantidad de valores para que se impriman después del punto decimal.
  • setiosflags(): se utiliza para establecer indicadores para formatear la salida.
  • setfill() o fill(): Se utiliza para rellenar el espacio en blanco de un campo.
  • resetiosflags(): Se utiliza para eliminar las banderas que se han establecido.

A continuación se muestra el programa para ilustrar algunos flujos de formato en C++: 

C++

// C++ program to illustrate format
// specifiers in C++
#include <bits/stdc++.h>
using namespace std;
 
// Driver Code
int main()
{
 
    string str = "GeeksforGeeks!";
 
    // Output stream to print string
    cout << str << endl;
 
    float f = 12.4578452f;
    // Print floating value upto N digits
    cout << setprecision(4) << f << endl;
 
    // To print the hexadecimal value of 42
    cout << hex << 42 << endl;
    return 0;
}
Producción: 

GeeksforGeeks!
12.46
2a

 

Formateo en Java

En Java, el formato de salida se puede hacer de 2 maneras diferentes: 

  • System.out.printf(): Toma múltiples argumentos a diferencia de print() y println() ya que print() y println() toma un solo argumento.
  • System.out.format(): Es similar a printf() . Tanto printf() como format() pertenecen a PrintStream del paquete java.io. Este printf() y format() son similares a la función printf() en C, también podemos usar banderas con especificadores de formato.

A continuación se muestra el programa para ilustrar algunos especificadores de formato en Python: 

Java

// Java program to illustrate
// some format specifiers
 
import java.util.Scanner;
import java.io.PrintStream;
 
// Class Main
public class Main {
 
    // Driver Code
    public static void main(String[] args)
    {
 
        Scanner sc = new Scanner(System.in);
 
        // Name and Age
        String name = "GeeksforGeeks";
        int age = 5;
 
        // Formatted String using printf()
        System.out.printf(
            "Name: %s, Age: %d",
            name, age);
 
        System.out.println();
 
        // Formatted String using format()
        System.out.format(
            "%nName: %s%nAge: %d%n",
            name, age);
    }
}
Producción: 

Name: GeeksforGeeks, Age: 5

Name: GeeksforGeeks
Age: 5

 

Formateo en Python

Python es actualmente el lenguaje de programación de alto nivel y multipropósito más utilizado. Es un lenguaje dinámico y muy fácil de formatear. <a href=”https://www.geeks forgeeks.org/take-input-in-python/”>la función input() en python siempre devuelve una string, al convertirlos en nuestro tipo de datos requerido podemos realizar diferentes operaciones.

  • Especificadores sin formato: la función print() en Python se usa para imprimir los argumentos pasados ​​en esta función. Podemos usar el parámetro sep para imprimir los argumentos pasados ​​con un separador.
  • Especificadores con formato: para la salida con formato, usamos la función format() en Python en la función print() para formatear la salida. 
    Para el formato de string, Python usa el formato de string de estilo C para crear nuevas strings formateadas. El operador «%» se utiliza para dar formato a un conjunto de variables incluidas en una lista, junto con una string de formato, que contiene texto normal junto con «especificadores de argumento», símbolos especiales como «%s» y «%d».

A continuación se muestra el programa para ilustrar algunos especificadores de formato en Python: 

Python3

# Python program to illustrate
# format specifiers in Python
 
str = "GeeksforGeeks"
str1 = "Welcome to"
 
# Unformatted Output in Python
print("Welcome to GfG !")
 
# Unformatted Output using separator
# print("Welcome to GfG !", sep = ", ")
print(str1, str, sep = ", ");
 
# String Formatting
print("Welcome to % s !" % str);
 
# String Formatting
name = "GfG"
age = 4
print("% s is % d years old." % (name, age))
 
# Formatting using format()
print("Hey, Welcome to {}!".format(str, age))
Producción: 

Welcome to GfG !
Welcome to, GeeksforGeeks
Welcome to GeeksforGeeks!
GfG is  4 years old.
Hey, Welcome to GeeksforGeeks!

 

Publicación traducida automáticamente

Artículo escrito por sahithchoudary123 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *