Menu
Coddy logo textTech

Formatação de Strings

Parte da seção Fundamentos do Journey de C# da Coddy — lição 63 de 69.

Em C#, String.Format() é um método poderoso usado para criar strings formatadas. Ele permite combinar texto com variáveis de uma forma legível e personalizável. Este método usa especificadores de formato para definir como as variáveis devem ser inseridas na string.

Vamos aprender como usar formatação de strings em C#:

A sintaxe básica de String.Format() é:

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

Onde:

  • format_string: Uma string que contém texto e especificadores de formato.
  • arg0, arg1, ...: As variáveis a serem inseridas no format_string.

Vejamos os especificadores de formato. Os números entre chaves referem-se à posição dos argumentos:

  • {0}: Refere-se ao primeiro argumento (arg0)
  • {1}: Refere-se ao segundo argumento (arg1)
  • {2}: Refere-se ao terceiro argumento (arg2)
  • E assim por diante...

Vamos tentar um exemplo simples com 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);

Após executar este código, você verá na tela: Name: Alice, Age: 30, Price: 19.99

Você também pode controlar a formatação ainda mais com especificadores de formato após dois pontos. O especificador de formato consiste em uma letra (como F para decimal de ponto fixo) seguida por um número opcional para precisão:

// Format a number with 2 decimal places
double number = 123.4567;
string formatted = String.Format("The value is {0:F2}", number);
Console.WriteLine(formatted);

Após executar este código, você verá na tela: The value is 123.46

Você pode usar F1, F2, F3, etc. para especificar diferentes números de casas decimais

challenge icon

Desafio

Fácil

Crie um método chamado CreateFormattedString que receba os seguintes argumentos:

  1. Uma string productName.
  2. Um inteiro quantity.
  3. Um double unitPrice.

O método deve retornar uma string formatada que combine esses valores no seguinte formato:

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

Formate o unitPrice para cinco casas decimais, a quantity com uma casa decimal (converta-a para double), e o primeiro caractere de productName deve ser maiúsculo.

Por exemplo, se productName for "laptop", quantity for 3, e unitPrice for 1299.9999, o método deve retornar:

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

Para extrair o primeiro caractere mantendo-o no tipo String em vez do tipo char, use: str.Substring(0,1)

Folha de consulta

O método String.Format() cria strings formatadas combinando texto com variáveis usando especificadores de formato.

Sintaxe básica:

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

Os especificadores de formato usam chaves com números de posição:

  • {0}: Primeiro argumento
  • {1}: Segundo argumento
  • {2}: Terceiro argumento

Exemplo com múltiplos tipos de dados:

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); // Output: Name: Alice, Age: 30, Price: 19.99

Especificadores de formato com controle de precisão usando dois pontos:

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

Você pode usar F1, F2, F3, etc. para especificar diferentes números de casas decimais

Para extrair o primeiro caractere como uma string: str.Substring(0,1)

Experimente você mesmo

using System;

public class Program {
    public static string CreateFormattedString(string productName, int quantity, double unitPrice) {
        // Escreva seu código aqui
    }

    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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos