DataTable dt = new DataTable();
dt.Columns.Add("大于200人数", System.Type.GetType("System.Int16"));
dt.Columns.Add("总人数", System.Type.GetType("System.Int16"));
dt.Columns.Add("比例", System.Type.GetType("System.String"));前面两列数据已经成功添加进去了
最后一列如果用 dt.Columns["比例"].Expression = "大于200人数/总人数";dataGridView1.DataSource = dt; 正常
--------------------------------------------------------------------------------------------------------但由于小数位数太多,希望用显示2位小数,如果用
dt.Columns["比例"].Expression = ("大于200人数/总人数").ToString();
则仍然显示一长串小数,但程序能调通
--------------------------------------------------------------------------------------------------------
如果用dt.Columns["比例"].Expression = ("大于200人数/总人数").ToString("0.00");
则调不通,提示错误:
1 与“string.ToString(System.IFormatProvider)”最匹配的重载方法具有一些无效参数
2 参数 1: 无法从“string”转换为“System.IFormatProvider”
望各位指点
dt.Columns.Add("大于200人数", System.Type.GetType("System.Int16"));
dt.Columns.Add("总人数", System.Type.GetType("System.Int16"));
dt.Columns.Add("比例", System.Type.GetType("System.String"));前面两列数据已经成功添加进去了
最后一列如果用 dt.Columns["比例"].Expression = "大于200人数/总人数";dataGridView1.DataSource = dt; 正常
--------------------------------------------------------------------------------------------------------但由于小数位数太多,希望用显示2位小数,如果用
dt.Columns["比例"].Expression = ("大于200人数/总人数").ToString();
则仍然显示一长串小数,但程序能调通
--------------------------------------------------------------------------------------------------------
如果用dt.Columns["比例"].Expression = ("大于200人数/总人数").ToString("0.00");
则调不通,提示错误:
1 与“string.ToString(System.IFormatProvider)”最匹配的重载方法具有一些无效参数
2 参数 1: 无法从“string”转换为“System.IFormatProvider”
望各位指点
你要处理的是界面显示的问题, 如果使用datagridview之类控件,可以到控件里设置格式 即在datagridviewColumn中设置cellstyle->format选数字,定位数
请问具体该怎么弄,我对datagridview不太了解,用的方法是最后绑定datatable
dataGridView1.DataSource = dt;
而且其他列有string格式的,如何单独设置一列的格式,还望具体教我一下
能通,但无效
-----------------------------------------------------------------------
dt.Columns["比例"].Expression = ("大于200人数/总人数").ToString("0.00");
不通
1 与“string.ToString(System.IFormatProvider)”最匹配的重载方法具有一些无效参数
2 参数 1: 无法从“string”转换为“System.IFormatProvider”
-----------------------------------------------------------------------
dt.Columns["比例"].Expression =(Double.Parse("大于200人数/总人数")).ToString();
dt.Columns["比例"].Expression =(Convert.ToDouble("大于200人数/总人数")).ToString();
不提示错误,但调试时出错
“System.FormatException”类型的未经处理的异常出现在 mscorlib.dll 中。
其他信息: 输入字符串的格式不正确。是否有其他转换方式?请教一下
在设计界面找到了DefaultCellStyle属性,点开后设置其Format属性为N2
结果前两列人数变成了2位小数了,如3.00
最后一列还是长小数如果只针对一列设置?另外此法似乎无效
值.ToString("F2");
datagridview.columns["比例"].datapropertyname="比例".
在column上设属性,
for (i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i][3] = (Double.Parse(dt.Rows[i][1].ToString()) / Double.Parse(dt.Rows[i][2].ToString())).ToString("P");
}
dt.Columns.Add("比例", System.Type.GetType("System.String"));改为:
dt.Columns.Add("比例", System.Type.GetType("System.int16"));