如何在c#中将特定的datagridview列值转换为double?

时间:2016-02-11 18:18:30

标签: c# winforms datagridview

我是c#的新手,我使用的是Windows窗体。

任何人都知道如何在C#中使用:h fugitive-:Gblame :h fugitive-:Gedit :h fugitive-revision :h cmdline-special :h :_% (或使用其他事件)将特定datagridview列值转换为加倍? 请帮忙。谢谢

dataGridView1_CellValidating

3 个答案:

答案 0 :(得分:1)

这是如何在datagridcell中设置双值

double value = double.Parse(dataGridView1.Rows[2].Cells[3].Value.ToString());
dataGridView1.Rows[2].Cells[3].Value = value.ToString("N2");

ToString("N2")将使用两个小数位

格式化double值

答案 1 :(得分:1)

 private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
        //Write in the array massive numbers from сolumn numOfcolumn
        int numOfcolumn = 3; //for example
        if (numOfcolumn > this.dataGridView1.ColumnCount) numOfcolumn = this.dataGridView1.ColumnCount;
        double[] massive = new double[this.dataGridView1.RowCount];
        for (int i = 0; i < this.dataGridView1.RowCount; i++)
        massive[i] = this.dataGridView1.Rows[i].Cells[numOfcolumn].Value != null ? Convert.ToDouble(this.dataGridView1.Rows[i].Cells[numOfcolumn].Value.ToString()) : 0.0;
    }

答案 2 :(得分:1)

您可以在初始化列时设置格式并避免任何事件。

如果您正在使用设计器,只需将列的Format属性设置为N2即可。要访问列Format属性,您必须突出显示网格。然后打开列集合窗口并选择要更改的列。

enter image description here

Appearance类别下,您需要点击DefaultCellStyle属性,然后将Format属性设置为N2

enter image description here

如果要动态创建列,请在初始化列后设置此属性:

var dgTextBoxCol = new DataGridViewTextBoxColumn();
dgTextBoxCol.Name = "yourColumnName";
dgTextBoxCol.DefaultCellStyle.Format = "N2";