2013-08-03 45 views
0

我在我的asp.net應用程序中使用波斯文化。如何在.net中的值後顯示貨幣符號?

我顯示的價格爲

PriceLabel.Text = string.Format("{0:C0}", 12000); 

導致12,000 ريال其中ريال是波斯貨幣符號,但我想貨幣符號來的值之後(波斯爲從左到右,那麼,由「後「,我的意思是數字的左側)。

我試過Style="text-align: right"PriceLabeldir="rtl"<td>標籤包含標籤,但這也沒有幫助。

回答

1
var cultureInfo = new CultureInfo("fa-Ir"); 
cultureInfo.NumberFormat.CurrencyPositivePattern = 3; 
cultureInfo.NumberFormat.CurrencyNegativePattern = 3; 

var result = string.Format(cultureInfo, "{0:C0}", 12000); 

Console.WriteLine(result); 
//Result 
//12,000 ريال 
0

.NET庫正在做他們應該做的事,並以您請求的格式顯示貨幣。要改變這種情況,你會打破i18n,但是如果你知道波斯貨幣符號的Unicode值,你可以嘗試使用String.Format。

PriceLabel.Text = string.Format("{0} {1}", 12000, <insert unicode char here>); 

我會毫不猶豫地承認這是一種猜測,絕對不是完美的。

0

下剪斷將轉換爲波斯貨幣格式當您在文本框中鍵入:

private void textBox3_TextChanged(object sender, EventArgs e) 
{ 
    decimal Number; 
    if (decimal.TryParse(textBox3.Text, out Number)) 
    { 
     textBox3.Text = string.Format("{0:N0}", Number); 
     textBox3.SelectionStart = textBox3.Text.Length; 
    } 
}