【问题标题】:Displaying negative values in a DataGridView without parentheses在不带括号的 DataGridView 中显示负值
【发布时间】:2018-10-05 14:21:56
【问题描述】:

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

我用:

dgvprod.Columns[2].DefaultCellStyle.Format = "c0";
dgvprod.Columns[2].DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("fr-SN");

并以(400 000)而不是-400 000为例进行显示
有人可以帮我改一下吗?
提前谢谢你

【问题讨论】:

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

标签: c# mysql datagridview cultureinfo datagridviewcolumn


【解决方案1】:

试试格式

"#,0 CFA;-#,0 CFA"

第一部分适用于 0 和正值,第二部分适用于负值。

或者干脆

"#,0 CFA"

但结果取决于 Windows 中的特定文化和文化设置。 该值必须是数字类型。如果是字符串,则无法格式化。

另请参阅:Custom numeric format strings

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 2020-06-23
    相关资源
    最近更新 更多