por Cesar Cassiano Schimanco

Usar globalization no Web.Config e CultureInfo para formatar data e moeda em vários idiomas no ASP.NET / C#

Para definir o formato de data e moeda no ASP.NET de acordo com o país, e muito simples.
Para isso existem duas formas, uma delas é configurar o culture no Web.Config, veja no exemplo abaixo.

<configuration>
	<system.web>
		<globalization culture="pt-BR" uiCulture="pt-BR" />
	</system.web>
</configuration>

Usando o Web.Config para atribuir o formato de data e moeda, essa configuração se aplicará a todo o site.
Agora para quem vai fazer um site multi-idioma e precisa trabalhar com varias moedas, por exemplo, pode usar a segunda forma, veja no exemplo.

using System.Globalization;
...
double moeda = 1234.56; //exemplo de moeda
DateTime data = DateTime.Now; //exemplo de data

//Definindo linguagens e regiões
//CultureInfo.CurrentCulture vai pegar do web.config
CultureInfo atual = CultureInfo.CurrentCulture; 
CultureInfo brasil = new CultureInfo("pt-BR");
CultureInfo franca = new CultureInfo("fr-FR");
CultureInfo eua = new CultureInfo("en-US");

//Formato da moeda, C = Currency
Response.Write("Atual: " + moeda.ToString("C", atual) + "<br />");
Response.Write("Brasil:" + moeda.ToString("C", brasil) + "<br />");
Response.Write("Franca:" + moeda.ToString("C", franca) + "<br />");
Response.Write("EUA:   " + moeda.ToString("C", eua) + "<br />");

//Formato da data
Response.Write("Atual: " + data.ToString(atual) + "<br />");
Response.Write("Brasil:" + data.ToString(brasil) + "<br />");
Response.Write("Franca:" + data.ToString(franca) + "<br />");
Response.Write("EUA:   " + data.ToString(eua) + "<br />");


Veja a lista de códigos CultureInfo

Comentários

Carregando comentários

Postar um novo comentário



Processando...