我有這樣的代碼;String.Format相同的代碼不同的視圖
GridView1.FooterRow.Cells[11].Text = String.Format("{0:c}", sumKV)
在我的電腦裏這個代碼給出了這樣的結果;
但當我這個代碼上傳到我的虛擬機,它看起來像這樣;
TL裝置土耳其里拉。但我不想顯示貨幣。我只是想要數字。
我也不想改變數字的格式。 (Like 257.579,02)
如何在此代碼中只刪除TL?
我有這樣的代碼;String.Format相同的代碼不同的視圖
GridView1.FooterRow.Cells[11].Text = String.Format("{0:c}", sumKV)
在我的電腦裏這個代碼給出了這樣的結果;
但當我這個代碼上傳到我的虛擬機,它看起來像這樣;
TL裝置土耳其里拉。但我不想顯示貨幣。我只是想要數字。
我也不想改變數字的格式。 (Like 257.579,02)
如何在此代碼中只刪除TL?
我這樣做:
var cultureWithoutCurrencySymbol =
(CultureInfo)CultureInfo.CurrentCulture.Clone();
cultureWithoutCurrencySymbol.NumberFormat.CurrencySymbol = "";
GridView1.FooterRow.Cells[11].Text =
String.Format(cultureWithoutCurrencySymbol, "{0:c}", sumKV).Trim();
背景:
這仍然將保持貨幣格式化當前的文化,它只是刪除了貨幣符號。
您可以將此特殊文化保存在某處,因此您無需在每次需要格式化值時創建該文化。
UPDATE:
Trim()
,因爲那裏仍是格式化數後的空間。+1是的,這聽起來有點冒失,但恐怕這是唯一的出路 – Larry 2011-04-06 08:03:01
它完美的作品!謝謝。 – 2011-04-15 09:55:43
勞倫你可以看看http://stackoverflow.com/questions/5712356/gridview-trim-error-in-asp-net? – 2011-04-19 06:23:18
另一種選擇是完全關閉的貨幣符號爲當前線程:
private static NumberFormatInfo SetNoCurrencySymbol()
{
CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
NumberFormatInfo LocalFormat = (NumberFormatInfo)NumberFormatInfo.CurrentInfo.Clone();
NumberFormatInfo ret = culture.NumberFormat;
LocalFormat.CurrencySymbol = "";
culture.NumberFormat = LocalFormat;
// Add the culture to the current thread
Thread.CurrentThread.CurrentCulture = culture;
return ret;
}
這樣,你就會改變更少的代碼。您可以隨時改回算賬:
NumberFormatInfo origNumberFormat = SetNoCurrencySymbol();
string x = String.Format("{0:c}", 55);
CultureInfo.CurrentCulture.NumberFormat = origNumberFormat;
string y = String.Format("{0:c}", 55);
因爲您只使用格式字符串的String.Format,所以根據應用程序中實際使用的UI文化格式設置sumKV。
GridView1.FooterRow.Cells[11].Text = String.Format("{0:c}", sumKV),
爲了擺脫與貨幣符號,使用InvariantCulture的在String.Format
這樣:
String.Format(CultureInfo.InvariantCulture, "{0:c}", sumKV);
我建議,不要*使用這種方法,因爲它會丟棄當前文化的格式。 – 2011-04-06 07:52:01
如果你不希望顯示的貨幣則不要使用貨幣格式代碼 - {0: C}。 也許嘗試類似如下:
GridView1.FooterRow.Cells[11].Text = String.Format("{0:G}", sumKV);
這不考慮用戶是否配置了與正常數字不同的貨幣。 – 2011-04-06 07:59:59
格尼爾:能否請您讓我知道鋤頭你有TL?我想以其他方式做,我想打印該TL符號。 – 62071072SP 2013-05-23 08:51:56
@ 62071072這是我的默認貨幣符號(對於'tr-TR'文化)。我沒有做任何特別的事情。 – 2013-05-23 08:55:40
Gonul:你能告訴我使用RegionInfo /當前的文化來獲得TL嗎? – 62071072SP 2013-05-23 09:08:18