格式化datagridview中列的十进制值

时间:2011-10-12 12:51:23

标签: c# winforms datagridview formatting

我想格式化一个和值列:例如我有19240我想要它192.40我尝试了很多方法但没有任何东西

dgw.Grid.Columns["Sum"].DefaultCellStyle.Format="0:00" // 192:40

dgw.Grid.Columns["Sum"].DefaultCellStyle.Format="n"    // 19240.00

dgw.Grid.Columns["Sum"].DefaultCellStyle.Format="0.00" // 19240.00

dgw.Grid.Columns["Sum"].DefaultCellStyle.Format=string.Format("{0:0.##}") // Exception

我希望datagrid视图中该列中的所有项目具有相同的格式

修改一种方法

我使用这种方法得到我想要的东西

    int _sum;
    public int Sum
    {
        get { return _sum; }
        set { _sum= value; }
    }

    public double SumAsdouble
    {
        get
        {
            if (_sum== 0)
                return 0;
            else
                return Convert.ToDouble(_sum) / 100;

        }
    }

我隐藏Sum并显示SumAsdouble

这对我有用

2 个答案:

答案 0 :(得分:1)

细胞中的价值是多少?

看起来它是19240,这意味着将其格式化为2DP将返回19240.00,如您所见。如果你想要192.40,那么你需要首先除以100 - 你将无法用字符串格式做到这一点。

答案 1 :(得分:0)

我假设您总是希望最后两位数字为十进制数字,并且您的数字总是五位数。然后您可以使用“000.00”或“%”作为格式字符串。或者,您可以将您的号码除以100。