在负数上使用格式字符串时,AutoValidate出现问题
本文关键字:AutoValidate 问题 字符串 格式 | 更新日期: 2023-09-27 18:06:58
我有一个格式字符串"#########0.00"。它适用于正数。但当我得到负数(例如-23.6(时,我会返回"-23.60"。这会导致TextBox上的AutoValidate出现问题。我需要删除减号和数字之间的三个空格(数字之间的空格对验证器来说没有问题(。我必须使用哪种格式字符串来保留正数的格式,但删除负数中减号和数字之间的空格?例如,如果我得到-1234567,那么它会给我-1 234 567.00?我正在使用。NET 2.0
你能考虑在字符串格式中使用逗号而不是空格吗:
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
试试这个:
Val(TextBox1.Text).ToString("#,#").Replace(",", " ")