日期:2014-05-17  浏览次数:20828 次

DataSet Columns类型 System.Double问题
我把DataSet中某个table的字段设置类型为:System.Double,但是追加到这个表的数据,把小数点后的都抹去了,为什么啊?
比如table A: 字段order 的类型System.Double
赋值:A.order=1.0;
结果在A中是1,如何为1.0


------解决方案--------------------
这是由于datatable取值后tostring()造成的
C# code

            DataTable d1t = new DataTable();
            d1t.Columns.Add("A", typeof(double));
            DataRow dr = d1t.NewRow();
            dr[0] = 2.0;
            d1t.Rows.Add(dr);

            Console.WriteLine(((double)d1t.Rows[0][0]).ToString("f1"));
            Console.WriteLine(d1t.Rows[0].Field<double>(0).ToString("f1"));

------解决方案--------------------
顶楼上的 主要是在现实的时候的tostring的formate造成的
数据实际上还是double类型的 楼主放心.....
------解决方案--------------------
探讨

这是由于datatable取值后tostring()造成的
C# code

DataTable d1t = new DataTable();
d1t.Columns.Add("A", typeof(double));
DataRow dr = d1t.NewRow();
dr[0] = 2.0;……