Asp.net ToString(“C”) ile Farklı Para Birimlerini Yazdırma
Asp.net ile para birimi yazdırmak için ToString(“C”) metodunu kullanıyoruz ve doğal olarak para birimini TL olarak gösteriyor $ veya € şeklinde nasıl görüntüleyeceğiz peki bunun için CultureInfo sınıfını kullanarak hangi ülkeye göre para birimi göstermek istiyorsak ayarlamayı yapacağız. Peki nasıl hemen örnek üzerinde açıklayalım.
Sayfamıza birer tane Textbox,radiobuttonlist ve label ekliyoruz
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>aspnetornekleri.com Para Birim Dönüştürme</title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <br /> <asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="true" onselectedindexchanged="RadioButtonList1_SelectedIndexChanged"> <asp:ListItem>TL</asp:ListItem> <asp:ListItem>$</asp:ListItem> <asp:ListItem>€</asp:ListItem> </asp:RadioButtonList> <br /> <asp:Label ID="Label1" runat="server" ></asp:Label> </div> </form> </body> </html>
RadioButtonList seçilecek olan değere göre para birimini yazdırmak için
Yalnız kodlarımızın başına using System.Globalization; ekliyoruz..
if (RadioButtonList1.SelectedIndex == 0) { var ulke = CultureInfo.GetCultureInfo("tr-TR"); var parabirimi = (NumberFormatInfo)ulke.NumberFormat.Clone(); parabirimi.CurrencySymbol = "TL"; double fiyat = Convert.ToDouble(TextBox1.Text); Label1.Text = (fiyat.ToString("C", parabirimi)); } if (RadioButtonList1.SelectedIndex == 1) { var ulke = CultureInfo.GetCultureInfo("en-US"); var parabirimi = (NumberFormatInfo)ulke.NumberFormat.Clone(); parabirimi.CurrencySymbol = "$"; double fiyat = Convert.ToDouble(TextBox1.Text); Label1.Text = (fiyat.ToString("C", parabirimi)); } if (RadioButtonList1.SelectedIndex == 2) { var ulke = CultureInfo.GetCultureInfo("fr-FR"); var parabirimi = (NumberFormatInfo)ulke.NumberFormat.Clone(); parabirimi.CurrencySymbol = "€"; double fiyat = Convert.ToDouble(TextBox1.Text); Label1.Text = (fiyat.ToString("C", parabirimi)); }