Criando Ordinais Facilmente em C#
Ao trabalhar com números, você pode querer exibi-los como ordinais—algo que indica sua posição em uma sequência, como 1º, 2º ou 3º. Se você é um desenvolvedor C# e se perguntou se há uma maneira fácil de gerar esses ordinais, você não está sozinho.
Neste post do blog, abordaremos como criar ordinais em C# e forneceremos uma função simples para alcançar isso. Vamos dividir em etapas.
Entendendo Ordinais
Os ordinais representam a classificação ou posição de algo em um conjunto. Por exemplo:
- 1 é representado como 1º
- 2 é representado como 2º
- 3 é representado como 3º
O Desafio
Embora C# forneça uma variedade de opções de formatação através de String.Format()
, você pode ter notado que não inclui um recurso embutido para criar números ordinais. Isso pode ser uma inconveniência, mas não é insuperável.
Implementando Ordinais em C#
Em vez de depender de funções integradas, você pode criar uma função simples para converter inteiros em sua representação ordinal em string. Veja como fazer isso.
Aqui Está o Código
Você vai querer criar um método estático em seu projeto C#:
public static string AddOrdinal(int num)
{
if(num <= 0) return num.ToString();
switch(num % 100)
{
case 11:
case 12:
case 13:
return num + "th";
}
switch(num % 10)
{
case 1:
return num + "st";
case 2:
return num + "nd";
case 3:
return num + "rd";
default:
return num + "th";
}
}
Explicação do Código
-
Validação de Entrada:
- A função primeiro verifica se o número é menor ou igual a zero. Se for, simplesmente retorna o número como uma string, já que ordinais não existem para valores menores ou iguais a zero.
-
Tratando Casos Especiais:
- A função considera as exceções relacionadas aos números que terminam em 11, 12 e 13 (como 11º, 12º e 13º).
-
Determinando o Sufixo:
- Em seguida, verifica o último dígito do número para determinar o sufixo apropriado:
- “st” para 1
- “nd” para 2
- “rd” para 3
- “th” para todos os outros
- Em seguida, verifica o último dígito do número para determinar o sufixo apropriado:
Exemplo de Uso
Você pode chamar essa função de qualquer lugar em seu código C# assim:
string primeiroOrdinal = AddOrdinal(1); // Retorna "1st"
string segundoOrdinal = AddOrdinal(2); // Retorna "2nd"
string undécimoOrdinal = AddOrdinal(11); // Retorna "11th"
Conclusão
Criar ordinais em C# é simples com uma função personalizada. Embora o .NET framework atualmente não forneça uma maneira embutida de formatar ordinais facilmente, o método compartilhado acima permite que você adicione essa funcionalidade com esforço mínimo.
Tenha em mente que essa implementação não é internacionalizada, ou seja, funciona apenas para ordinais em inglês. Certifique-se de testar e expandir isso se sua aplicação exigir suporte para outros idiomas!
Para resumir, com apenas um pouco de código, você pode adicionar funcionalidade para criar ordinais
em C#, melhorando tanto a funcionalidade quanto a experiência do usuário em suas aplicações.