2011-08-30 47 views
-1

我有這種格式字符串「### ### ### ## 0.00」。它適用於正數。但是,當我得到負數(例如-23.6)時,我會返回「 - 23.60」。這導致TextBox上的AutoValidate出現問題。我需要刪除減號和數字之間的三個空格(數字之間的空格對驗證器來說沒有問題)。我必須使用哪種格式字符串來保存正數的格式,但是會刪除負號和減號之間的空格?例如,如果我得到了-1234567,那麼它給我-1 234 567.00?我使用.NET 2.0對負數使用格式字符串時AutoValidate的問題

回答

1

可以考慮在格式字符串中使用逗號,而不是空間:

String.Format("###,###,###,##0.00", -23.60); 

代替

String.Format("### ### ### ##0.00", -23.60); 

編輯處理捷克文化信息

CultureInfo culture = CultureInfo.CreateSpecificCulture("cs-CZ"); 
String.Format("###,###,###,##0.00", -23.60, culture); // outputs: -23,60 
String.Format("###,###,###,##0.00", -123.60, culture); // outputs: -123,60 
String.Format("###,###,###,##0.00", -23.60, culture); // outputs: -1 23,60 
+0

我想保留空格。在這個國家的逗號是指小數點分隔符。 – viki

+0

只是好奇哪個國家呢?另外,如果國家有一個,你可能想要傳遞CultureInfo(對於Format方法)。默認使用「en-us」。 – Arun

+0

捷克共和國。小數分隔符解決了,沒有問題。 – viki

1

試試這個:

Val(TextBox1.Text).ToString("#,#").Replace(",", " ") 
+0

我有很多的文本框字段,我不能單獨設置它。這是相當大的應用程序,所以我想在解析過程中做到這一點。 – viki