为整个应用程序设置Culture Invariant(线程)Point'。'代替 ','

时间:2014-01-31 12:06:59

标签: c# datagridview formatting numbers

我有这个应用程序需要用户介绍一些价格等,同时使用dataGridViews进行显示。问题是在某些计算机上'.'这被视为','我设法获得了一些TextBox离开事件并为其设置了不变文化,但是使用dataGridViews显示时也没用,也报告了ReportViewer我还有一个将数字转换为文本的代码,有了这个问题,我的应用程序在当前状态下对于这个文化问题毫无价值所以我需要将所有内容设置为Invariant Culture,无论它将采用什么样的价值,例如:

2.00作为200,00在该计算机上我想要使用不变文化,无论显示2.00使用'.'而不是','

2 个答案:

答案 0 :(得分:1)

我不建议强制申请文化不变或特定文化。但这就是你想要的......检查this问题的答案。

如果您只想更改数据网格视图,请更改DefaultCellStyle.FormatProvider以使用您所在国家/地区的文化。在下面的示例中,我更改了FormatProvider以使用英美文化。

Column.DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("en-US")

答案 1 :(得分:0)

您可以先尝试以下方式:

CultureInfo.CurrentUICulture.NumberFormat.NumberDecimalSeparator = ".";

但是,我建议区分用户互动并让它在默认文化中发生。