我使用Entity Framework,我有一个像这样的LINQ查询:
var foo = from ee in context.Table select new {id = ee.id, price = ee.price}.ToList();
其中price是十进制的(SqlServer中的smallmoney)。 现在我将它绑定到datagridview mydgv.DataSource = foo; 但首先,我想将所有小数转换为字符串,以便从值中删除零(例如,现在它是26.0000,我希望它是26.00)。我怎样才能做到这一点? 类似的东西:
bla.ForEach( x => x.price.ToString().Substring(0,3))
无效。
答案 0 :(得分:2)
var q = foo.Select(x => new { id = x.id, price = x.price.ToString("N2") } );
但您可以将datagridview中的列上的格式字符串设置为“N2”并直接绑定到原始数据源。类似的东西:
dgv.Columns[0].DefaultCellStyle.Format = "N2";
答案 1 :(得分:0)
不确定EF是否支持它,但请尝试
new { ee.id, price = ee.price.ToString("f2") }