Menu
Coddy logo textTech

Formateo de Strings

Parte de la sección Fundamentos del Journey de C# de Coddy — lección 63 de 69.

En C#, String.Format() es un método potente utilizado para crear cadenas con formato. Permite combinar texto con variables de una manera legible y personalizable. Este método utiliza especificadores de formato para definir cómo se deben insertar las variables en la cadena.

Aprendamos a usar el formato de cadenas en C#:

La sintaxis básica de String.Format() es:

string formattedString = String.Format("format_string", arg0, arg1, ...);

Donde:

  • format_string: Una cadena que contiene texto y especificadores de formato.
  • arg0, arg1, ...: Las variables que se insertarán en el format_string.

Veamos los especificadores de formato. Los números entre llaves se refieren a la posición de los argumentos:

  • {0}: Se refiere al primer argumento (arg0)
  • {1}: Se refiere al segundo argumento (arg1)
  • {2}: Se refiere al tercer argumento (arg2)
  • Y así sucesivamente...

Probemos un ejemplo sencillo con diferentes tipos de argumentos:

string name = "Alice";
int age = 30;
double price = 19.99;

string formatted = String.Format("Name: {0}, Age: {1}, Price: {2}", name, age, price);
Console.WriteLine(formatted);

Después de ejecutar este código, verás en la pantalla: Name: Alice, Age: 30, Price: 19.99

También puedes controlar el formato más detalladamente con especificadores de formato después de dos puntos. El especificador de formato consiste en una letra (como F para decimal de punto fijo) seguida de un número opcional para la precisión:

// Formatear un número con 2 decimales
double number = 123.4567;
string formatted = String.Format("The value is {0:F2}", number);
Console.WriteLine(formatted);

Después de ejecutar este código, verás en la pantalla: The value is 123.46

Puedes usar F1, F2, F3, etc. para especificar diferentes números de decimales

challenge icon

Desafío

Fácil

Crea un método llamado CreateFormattedString que reciba los siguientes argumentos:

  1. Un string productName.
  2. Un entero quantity.
  3. Un double unitPrice.

El método debe devolver un string formateado que combine estos valores en el siguiente formato:

Product: [productName], Quantity: [quantity], Unit Price: [unitPrice]

Formatea el unitPrice a cinco decimales, la quantity con un decimal (conviértela a double), y el primer carácter de productName debe estar en mayúscula.

Por ejemplo, si productName es "laptop", quantity es 3, y unitPrice es 1299.9999, el método debe devolver:

Product: Laptop, Quantity: 3.0, Unit Price: 1299.99990

Para extraer el primer carácter manteniendo el tipo String en lugar del tipo char, utiliza: str.Substring(0,1)

Hoja de referencia

El método String.Format() crea cadenas con formato combinando texto con variables mediante especificadores de formato.

Sintaxis básica:

string formattedString = String.Format("format_string", arg0, arg1, ...);

Los especificadores de formato utilizan llaves con números de posición:

  • {0}: Primer argumento
  • {1}: Segundo argumento
  • {2}: Tercer argumento

Ejemplo con múltiples tipos de datos:

string name = "Alice";
int age = 30;
double price = 19.99;

string formatted = String.Format("Name: {0}, Age: {1}, Price: {2}", name, age, price);
Console.WriteLine(formatted); // Salida: Name: Alice, Age: 30, Price: 19.99

Especificadores de formato con control de precisión mediante el uso de dos puntos:

double number = 123.4567;
string formatted = String.Format("The value is {0:F2}", number);
Console.WriteLine(formatted); // Salida: The value is 123.46

Puede utilizar F1, F2, F3, etc., para especificar diferentes números de decimales.

Para extraer el primer carácter como una cadena: str.Substring(0,1)

Pruébalo tú mismo

using System;

public class Program {
    public static string CreateFormattedString(string productName, int quantity, double unitPrice) {
        // Escribe tu código aquí
    }

    public static void Main(string[] args) {
        string product = Console.ReadLine();
        int qty = int.Parse(Console.ReadLine());
        double price = double.Parse(Console.ReadLine());
        string formattedString = CreateFormattedString(product, qty, price);
        Console.WriteLine(formattedString);
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos