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”
望各位指点
解决方案 »
- c中的struct结构体问题
- 求助,如何使dateTimePicker下拉框变大一些。。
- 有那本书有详细介绍c#数组,集合,列表的?
- 高分,求取消共享文件夹的方法
- C#控制键盘按键输入
- 如何将数据动态将一个dataset中的数据加到另一个dataset中!
- C#数据
- SQL的INSERT语句中嵌入SELECT语句
- 有Windows Media Player播放器 和 Realplayer播放器的源码么?或者是有关Real控件的用法?
- 怎样动态的指定数组的内容!!即不先声明数组的长度!!这样可以声明数组吗~!!
- 【求助】winform 自带的安装布署工具 判断程序已安装
- C# socket接收 c语言中的socket 是乱码
你要处理的是界面显示的问题, 如果使用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"));