我有关于Datagridview单元格格式的问题。我在下面添加我的示例代码,我尝试了许多百分比格式,但它不再工作了。问题出在哪里,你能帮助我吗?
private void button1_Click(object sender, EventArgs e)
{
DataTable tb = new DataTable();
DataRow row = tb.NewRow();
tb.Rows.Add(row);
tb.Columns.Add("Column1");
tb.Rows[0][0] = "45";
dataGridView1.DataSource = tb;
dataGridView1.Columns[0].DefaultCellStyle.Format = "#.000\\%";
}
答案 0 :(得分:0)
因为"0"
和"#"
说明符都是custom numeric format strings。由于您的"45"
为string
,因此根本没有格式 。
作为解决方案,请将您的第一列值作为数字提供;
tb.Rows[0][0] = 45;
之后,将所有第一列值除以100.0
floating point division(例如,获得0.45
),
foreach (DataRow row in tb.Rows)
{
row[0] = (int)row[0] / 100.0;
}
并使用The "%"
Custom Specifier将其格式化为;
dataGridView1.Columns[0].DefaultCellStyle.Format = "#%";
如果您的CurrentCulture
已经 %
为100
,那么此%
说明符会将您的值乘以%
和Console.WriteLine((0.45).ToString("#%")); // prints 45%
符号后面的值一个PercentSymbol
。
例如;
>= 3.5