2017-07-31 90 views
1

我有一個代碼,使一個int thousend分隔符,但是當我嘗試將該值保存到數據庫的文本框中我想刪除之間的空間。我無法用replace(「」,「」)來做到這一點。C#從千分隔符轉換回int

YearTB.Text = (String.Format(culture, "{0:n0}", Int32.Parse(YearTB.Text))); 

框中的內容是例如「536 396」,但是它們之間的空格不是「」。它的千位分隔符的影響。我怎樣才能返回到int。 「536396」。

+0

這必須是控件將其轉換爲數字類型的責任,它知道執行此類轉換所需的全部信息。 – Karolis

+0

什麼是你想要轉換的確切值? –

+0

如果這是已知文化的格式,請使用該文化解析字符串,然後使用與數據庫格式相匹配的區域性文字編寫它 –

回答

3

如果你只是想轉換爲字符串沒有數千,而不是一個int:

string result = text.Replace(culture.NumberFormat.NumberGroupSeparator, ""); 

這假定culture是與該號碼是用千個分隔符格式化CultureInfo

另外,如果你想轉換爲int,你可以直接使用int.Parse()並指定要允許的千位分隔符(我認爲這是一個更好的辦法):

int result = int.Parse(text, NumberStyles.AllowThousands, culture); 
+0

int result = int.Parse(text,NumberStyles.AllowThousands);就夠了。 有一個問題,我的GridViewChargeTime.UpdateRow(r.RowIndex,false);無法保存到數據庫,因爲文本框仍然有千位格式。 –

2

試試這個

string str = "536 396"; 
str = Regex.Replace(str, @"\s", "");