在负数上使用格式字符串时出现AutoValidate问题

时间:2011-08-30 16:37:54

标签: c# .net validation

我有这个格式字符串“### ### ### ## 0.00”。它适用于正数。但是当我得到负数(例如-23.6)时,我会返回“ - 23.60”。这会导致TextBox上的AutoValidate出现问题。我需要删除减号和数字之间的三个空格(数字之间的空格对验证器没有问题)。我必须使用哪种格式字符串,以保留正数的格式,但删除减号和负号之间的空格?例如,如果我得到-1234567,那么它给我-1 234 567.00?我正在使用.NET 2.0

2 个答案:

答案 0 :(得分:1)

试试这个:

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

答案 1 :(得分:1)

您是否可以考虑在格式字符串中使用逗号代替空格:

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

而不是

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

EDIT处理捷克文化信息

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