C# 在无括号的DataGridView中显示负值

C# 在无括号的DataGridView中显示负值,c#,mysql,datagridview,cultureinfo,datagridviewcolumn,C#,Mysql,Datagridview,Cultureinfo,Datagridviewcolumn,我的表单上有一个DataGridView对象,它链接到一个基于变量SQL查询填充的dataTable 我的问题是,对于货币,.DefaultCellStyle.Format值设置为“c”时显示负值的方式。出于某种原因,它将负值放在括号内,即(100000)而不是-100000 我使用: dgvprod.Columns[2].DefaultCellStyle.Format = "c0"; dgvprod.Columns[2].DefaultCellStyle.FormatProvider = Cu

我的表单上有一个DataGridView对象,它链接到一个基于变量SQL查询填充的dataTable
我的问题是,对于货币,.DefaultCellStyle.Format值设置为“c”时显示负值的方式。出于某种原因,它将负值放在括号内,即(100000)而不是-100000

我使用:

dgvprod.Columns[2].DefaultCellStyle.Format = "c0";
dgvprod.Columns[2].DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("fr-SN");
其显示示例为
(400000)
,而不是
-400000

有人能帮我换一下吗?
提前谢谢你

试试这个格式

"#,0 CFA;-#,0 CFA"
第一部分适用于0和正值,第二部分适用于负值

或者干脆

"#,0 CFA"
但结果取决于Windows中的特定区域性和区域性设置。 该值必须是数字类型。如果它是字符串,则无法格式化


另请参见:

数据表的内容是什么?键入?@TaW这些是字符串,但“C0”是数字格式。不能像那样格式化字符串。你必须先转换成数字。但是它们是如何存储在sql中的呢?它们是如何变成字符串的???@TaW有几个列,但列2在数据库中存储为int,那么您的sql就是罪魁祸首?