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 elformat_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
Desafío
FácilCrea un método llamado CreateFormattedString que reciba los siguientes argumentos:
- Un string
productName. - Un entero
quantity. - 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.99990Para 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.99Especificadores 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.46Puede 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);
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador de móduloIncremento/DecrementoPost-incremento/decrementoAtajos aritméticos7Entrada y Salida Básica
Salida BásicaInterpolación de CadenasLectura de EntradaParseoResumen - Hasta 120Resumen - Verdadero o Falso5Operadores Parte 2
Operadores de comparaciónOperadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 33Variables Parte 2
VarConstantesConvenciones de NomenclaturaResumen - Inicializar VariablesConversión de Tipos6Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador ternarioResumen - If ElseIf - Else anidados