【问题标题】:C# - SQL Query Rounding Problem while adding DataGridViewC# - 添加 DataGridView 时的 SQL 查询舍入问题
【发布时间】:2019-07-20 07:09:25
【问题描述】:

我有一个 SQL 查询,它有逗号值。当我将它添加到 DataGridView 时,我想要这种格式 (#, ##). 我尝试了 Math.Round() 函数,但它不起作用。

以下是我尝试过的查询:

(CONVERT(DECIMAL(18, 2), column3)*100) as normalize

这是我用于添加的 C# 代码;

dgv.Rows.Add(rows["column1"].ToString() + " " + rows["column2"].ToString(), rows["column3"], "%" + "" + Math.Round(Convert.ToSingle(rows["normalize"].ToString())), 2);

使用此代码运行时不带逗号。通常,如果我不使用 Math.Round,它会像这种格式(#,####)一样工作。

我也试过这个;

dgv.Columns[2].DefaultCellStyle.Format = "N2";

我应该如何解决它?

【问题讨论】:

  • Here 是一个很好的起点。

标签: c# sql sql-server datagridview sqlcommand


【解决方案1】:

试试这个,添加值类型属性,它适用于我的情况。

dgv.Columns[2].DefaultCellStyle.Format = "N2";
dgv.Columns[2].ValueType = typeof(Double);

完整代码示例

object[] row = new object[] { 6.54553 };

dataGridView1.Rows.Add(row);

dataGridView1.Columns[0].DefaultCellStyle.Format = "n2";

dataGridView1.Columns[0].ValueType = typeof(double);

【讨论】:

  • dgv.Columns[2].ValueType = GetType(Double);这一行给出了 Double 的错误。 '表示一个双精度浮点数'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-29
  • 1970-01-01
  • 2016-04-27
  • 1970-01-01
相关资源
最近更新 更多